本文適合于對(duì)Android開(kāi)發(fā)有一定了解,正在Android入門(mén)中的小白
Github源碼:無(wú)
Let's Go Android!
1.可視化界面編輯工具(如下圖)

- 通常這種方式制作出的界面都不具有很好的屏幕適配性,而且難以勝任復(fù)雜界面的編寫(xiě)要求。
2.控件的寬和高都有三個(gè)可選值:wrap_content
,match_parent
和fill_parent
【match_parent = fill_parent(不推薦使用)
】,當(dāng)然也可以自己指定一個(gè)固定的大小,比如android:layout_height="64dp"
,這樣有時(shí)會(huì)在屏幕適配方面出現(xiàn)問(wèn)題。
①android:gravity
指定文字的對(duì)齊方式,可選值有:top、bottom、left、right、center
等,可以用“|”來(lái)指定多個(gè)值。
②EditText的android:maxLines
屬性指定了最大行數(shù),輸入內(nèi)容超過(guò)最大行數(shù)的時(shí)候,文字就會(huì)向上滾動(dòng)。
③ImageView,通過(guò)代碼動(dòng)態(tài)地更改其中的圖片:imageView.setImageResource(R.drawable.picture_name)
。
④AlertDialog的幾種常見(jiàn)形式以及自定義布局;
⑤ProgressDialog,若setCancelable()
中傳入了false
,表示不能通過(guò)返回鍵取消,此時(shí),必須在代碼中做好控制,調(diào)用dismiss()
方法來(lái)關(guān)閉對(duì)話(huà)框。
⑥android:layout_margin
屬性指定了控件在上下左右方向上偏移的距離,當(dāng)然可以使用android:layout_marginTop、android:layout_marginLeft
等屬性指定在某個(gè)方向上的偏移量。
4.可見(jiàn)屬性
- 所有的Android控件都有可見(jiàn)屬性,可選值有三種:
visible
(默認(rèn)值,可見(jiàn)的),invisibl
(不可見(jiàn),但仍占據(jù)原來(lái)的位置和大小,可認(rèn)為透明了),gone
(不可見(jiàn),不占空間)。 - 可以使用代碼控制:
setVisibility()
,getVisibility()
方法,可選值有三種:View.VISIBLE,View.INVISIBLE,View.GONE
。
5.四種布局
LinearLayout
①如果不指定android:orientation
屬性的值,則默認(rèn)是horizontal
。
②gravity用于指定文字在控件中的對(duì)齊方式;layout_gravity
用于指定控件在布局中的對(duì)齊方式。
③android:layout_weight
屬性讓我們可以按照比例來(lái)定義控件的大小,注意:若按照比例定義寬度,則相應(yīng)的控件的layout_width屬性設(shè)”0dp”;
若兩個(gè)控件指定了具體的寬度數(shù)值,另一個(gè)控件的layout_weight”1”,則另一個(gè)控件自動(dòng)填滿(mǎn)剩余的空間。RelativeLayout
①相對(duì)于父布局進(jìn)行定位
android:layout_alignParentLeft = “true/false”
android:layout_alignParentRight = “true/false”
android:layout_alignParentTop = “true/false”
android:layout_alignParentBottom = “true/false”
②相對(duì)于控件進(jìn)行定位
android:layout_above = “@id/..”
android:layout_below = “@id/..”
android:layout_toLeftOf = “@id/..”
android:layout_toRightOf = “@id/..”
當(dāng)一個(gè)控件去引用另一個(gè)控件的id的時(shí)候,該控件一定要定義在引用控件的后面,否則會(huì)出現(xiàn)找不到id的情況。
③邊緣對(duì)齊
android:layout_alignRight= “@id/..” //表示和另一個(gè)控件的右邊緣對(duì)齊(以下類(lèi)比)
android:layout_alignLeft= “@id/..”
android:layout_alignTop= “@id/..”
android:layout_alignBottom= “@id/..”
FrameLayout
TableLayout
①在TableLayout中每加入一個(gè)TableRow就表示在表格中添加了一行,TableRow中的控件是不能指定寬度的
②android:layout_span = “2”
讓某個(gè)控件占據(jù)兩列的空間(合并單元格)
③android:stretchColumns = “1”
,在布局的頭屬性里定義,表示:如果表格不能占滿(mǎn)整個(gè)屏幕,就將第二列進(jìn)行拉伸(計(jì)數(shù)從0開(kāi)始)
6.引入布局以及創(chuàng)建自定義控件,參照相應(yīng)的demo(以后會(huì)補(bǔ)充)
7.代碼中動(dòng)態(tài)銷(xiāo)毀當(dāng)前活動(dòng)
( (Activity) getContext() ).finish();
原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處:http://www.lxweimin.com/p/b00b0a1ea221