《第一行代碼》學(xué)習(xí)筆記3--關(guān)于UI控件的兩三語(yǔ)

本文適合于對(duì)Android開(kāi)發(fā)有一定了解,正在Android入門(mén)中的小白
Github源碼:無(wú)

Let's Go Android!

1.可視化界面編輯工具(如下圖)


  • 通常這種方式制作出的界面都不具有很好的屏幕適配性,而且難以勝任復(fù)雜界面的編寫(xiě)要求。

2.控件的寬和高都有三個(gè)可選值:wrap_contentmatch_parentfill_parentmatch_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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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