Android的學(xué)習(xí)與實(shí)踐1 (程序目錄介紹,Activerty生命周期藕溅,xml配置和布局)

1.收獲

今天是我們進(jìn)入Android的第一天,今天是很有趣的一天继榆,做了一個(gè)非常有趣的demo,雖然在這個(gè)項(xiàng)目中有的東西沒有學(xué)過巾表,但是還是能夠理解,確實(shí)今天比以往的課更加有趣和活躍略吨,不是那么單一集币。一切開始變得有趣起來了,做什么都有了精神翠忠,雖然都還是學(xué)的是一些基礎(chǔ)的東西鞠苟,但是我明白這些越是基礎(chǔ)的東西越重要,就越要好好學(xué)秽之,后面的日子還長当娱,還有更多的東西等著我們!

2.技術(shù)

(1)程序目錄介紹
(2)Activerty生命周期
(3)xml配置和布局
(4)“撕衣服”小游戲demo

3.技術(shù)的實(shí)際應(yīng)用和實(shí)踐

(1)程序目錄介紹

QQ圖片20190825200824.png

在這里展示出了一個(gè)Android程序的基本的一些東西考榨,包括一些文件的作用跨细,如何添加一些圖片,如何修改demo 的名稱和圖標(biāo)河质。

(2)Activerty生命周期
什么是Activerty=就是一個(gè)界面冀惭,管理一個(gè)界面從創(chuàng)建到運(yùn)行到結(jié)束的整個(gè)過程 / 生命周期。
在Android里面大部分的控件都會(huì)提供很多方法, 這些方法只是需要自己去重新寫掀鹅,不需要自己調(diào)用.

image.png

在實(shí)際的操作中這些方法都是要被調(diào)用的散休,只是操作不同乐尊,調(diào)用的方法不同。


image.png

(3)xml配置和布局

使用兩種方式界面布局

  • 1.xml配置
  • 2.使用Java代碼創(chuàng)建

默認(rèn)一個(gè)Activerty 對(duì)應(yīng)一個(gè)xml配置文件
命名特點(diǎn):activerty_界面的功能.xml
xml文件就是一個(gè)容器 可以放很多UI控件
布局:這么多的控件如何布局
----- 布局方式:

  • 1.約束布局 ContraintLayout
  • 2.線性布局 LinearLayout 垂直 水平
  • 3.相對(duì)布局 RelativeLayout
  • 4.幀布局 FrameLayout
  • 5.表格布局 TableLayout GridLayout
  • 6.絕對(duì)布局 AbsoluteLayout


    image.png

    image.png

xml 文件配置界面

image.png

image.png

xml 文件田間控件
一個(gè)控件就是一個(gè)類的具體對(duì)象
ImageView:

  • 屬性
  • 方法

控件的尺寸
父視圖 和子視圖:將一個(gè)控件添加到一個(gè)容器中昏滴,控件就是這個(gè)容器的子視圖
容器就是這個(gè)控件的父視圖

  • 1.match_parent 和父視圖一樣大
  • 2.wrap_content 包裹內(nèi)容 和控件一樣大
  • 3.20dp 具體尺寸
 <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/bg"/>

控件 = 一個(gè)視圖 = 看到的都是視圖

  • 1.初級(jí)階段:學(xué)習(xí)系統(tǒng)自帶的控件 熟悉
    TextView EditView Button *ImageView *ListView
    RecycleView ScrollView ViewPager *ProgressBar
    Switch
  • 2.高級(jí)階段:自定義
  • (1)在已有的控件基礎(chǔ)上加上自己的功能 繼承
  • (2)自己畫

程序或者UI模塊都可以由自己的樣式style

  • 可以在values.styles.xml里面定義
  • 不需要ActionBar
  • parent="Theme.AppCompat.Light.NoActionBar"


    image.png

有Java代碼來布局界面

  • 通過添加id號(hào)可以唯一標(biāo)識(shí)某一個(gè)控件 或者 組件(容器)
  • andriod:id="@+id/fl_main"
<ImageView
        android:id="@+id/iv_forgroud"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

更改主題樣式
xml:解耦 安卓推薦使用

  • 什么時(shí)候需要代碼創(chuàng)建 什么時(shí)候使用xml配置
  • 如果添加的控件是靜態(tài)的 (變化的東西不多) 選擇xml配置
  • 如果需要靈活地操作這個(gè)控件 選擇代碼創(chuàng)建


    image.png

更改App名稱


image.png

(4)“撕衣服”小游戲demo
思路:

  • 使用透明色去替換原圖片地對(duì)應(yīng)點(diǎn)的像素
  • 立刻獲取替換之后的圖片 將圖片顯示在ImageView上

我們要準(zhǔn)備兩張圖片將他們添加到資源文件中去谣殊,操作是直接把圖片拖到


image.png

首先我們要在xml文件中添加控件
背景圖片:

<ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/bg"/>

操作后的圖片

<ImageView
         android:id="@+id/iv_forgroud"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         />

在MainActivity中配置界?

//配置界面
        setContentView(R.layout.activity_main);
        //找到容器里面的圖片視圖控件
        //findViewByid
        final ImageView forgound=findViewById(R.id.iv_forgroud);

讀取原圖

//將需要操作的圖片讀取出來 Bitmap
        //BitmapFactory 用于管理位圖
        //decodeResource 從工程的資源路徑中去生成一張位圖
        //getResources() 獲取工程的資源
        //R.drawable.fr  訪問資源路徑下 drawable里面的一個(gè)文件名為fr的資源
        final Bitmap orgBitmap= BitmapFactory.decodeResource(getResources(),R.drawable.fr);

創(chuàng)建副本

//操作這張圖片 用透明色去替換某個(gè)位置的顏色
        //不能操作原圖 只能拷貝一份

       //創(chuàng)建一個(gè)副本 創(chuàng)建一個(gè)和原始圖片相同環(huán)境的空位圖
        final Bitmap copyBitmap=Bitmap.createBitmap(orgBitmap.getWidth(),orgBitmap.getHeight(),orgBitmap.getConfig());

圖?片操作

//創(chuàng)建一個(gè)Canvas 畫布-現(xiàn)實(shí)中的畫板
        final Canvas canvas=new Canvas(copyBitmap);
        //創(chuàng)建一個(gè)畫筆
        final Paint paint=new Paint();
        //創(chuàng)建一個(gè)矩陣
        Matrix matrix=new Matrix();

        //旋轉(zhuǎn)
        //matrix.setRotate(180,480,800);
        //平移
        //matrix.setTranslate(200,0);
        //翻轉(zhuǎn) set只作用一次  post 使用多次
        //matrix.setScale(-1f,1f);
        //matrix.postTranslate(orgBitmap.getWidth(),0);

        //畫一幅圖
        canvas.drawBitmap(orgBitmap,matrix,paint);
        //顯示圖片
        forgound.setImageBitmap(copyBitmap);

添加觸摸事件

 //給前景圖片添加touch事件
        //當(dāng)有觸摸事件發(fā)生 系統(tǒng)就會(huì)將這個(gè)事件接收并回調(diào)這個(gè)事件
        forgound.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                //獲取當(dāng)前事件
                int action= motionEvent.getAction();
                //判斷狀態(tài)
                if(action==MotionEvent.ACTION_MOVE){
                    //獲取觸摸點(diǎn)的坐標(biāo)
                    int x=(int)motionEvent.getX();
                    int y=(int)motionEvent.getY();
                    //替換x,y對(duì)應(yīng)的像素
                    for (int i=-6;  i< 6; i++) {
                        for (int j=-6;  j< 6; j++) {
                            copyBitmap.setPixel(x+i,y+j,Color.TRANSPARENT);
                        }
                    }
                    forgound.setImageBitmap(copyBitmap);
                }
                return true;
            }
        });
    }

效果:


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市牺弄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛇捌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件络拌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡混萝,警方通過查閱死者的電腦和手機(jī)萍恕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來允粤,“玉大人,你說我怎么就攤上這事司光∠せ迹” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵跪削,是天一觀的道長迂求。 經(jīng)常有香客問我,道長揩局,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任付枫,我火速辦了婚禮驰怎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘县忌。我一直安慰自己继效,他們只是感情好装获,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著凡简,像睡著了一般精肃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肋杖,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天挖函,我揣著相機(jī)與錄音,去河邊找鬼津畸。 笑死必怜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的梳庆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼驻售,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼更米!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起征峦,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤栏笆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蛉加,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體因宇,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祟偷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年修肠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嵌施。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吗伤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出足淆,到底是詐尸還是另有隱情,我是刑警寧澤族奢,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布丹鸿,位于F島的核電站,受9級(jí)特大地震影響靠欢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜骡澈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一薪缆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧疼电,春花似錦减拭、人聲如沸蔽豺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽魄鸦。三九已至,卻和暖如春旺罢,著一層夾襖步出監(jiān)牢的瞬間绢记,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國打工蠢熄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叉讥。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓骏啰,卻偏偏與公主長得像抽高,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子壁熄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容