StudyJamsChina系列之L1課程筆記總結(jié)

1B.布局-下:

1B-01-ViewGroups介紹:

  1. 關(guān)于View計劃過的三點:學(xué)會選擇合適的View、如何展示及設(shè)置VIew屬性、如何將多個View進(jìn)行組合并合理布局(VIewGroups)。

  2. ViewGroup也是一種View,同樣有高度、寬度、背景色等屬性,不同于TextView和ImageView,內(nèi)容包含的是文字或圖片,ViewGroup內(nèi)包含的是其他各個View。繼而派生出父View和子View的概念。
    其實這個也不難理解,從ViewGroup字面意義上,可以理解為是一個容器,里面contain的是(一個或多個):TextView、ImageView等,其他一些基本Views(控件)。
    PS:不知道為什么,視頻中一直講的是View這個概念,并沒有出現(xiàn)控件這個概念。雖說從上到下講View圖譜比較正統(tǒng),不過感覺要能提到控件和布局(ViewGroup)的話,中文里面對于零基礎(chǔ)初學(xué)者來說會更好理解一點吧?(個人愚見)


    ViewGroups.png
  3. 了解View家族關(guān)系圖譜,漫畫形式真是太棒了_so cute!再腦補(bǔ)下中國式教育會怎么講,反正我估計老師不會給你畫小人兒-。-

    paint.png

  4. 要求:能夠明確區(qū)分頁面上哪些是ViewGroup、都包含哪些View、誰是父View、誰是子View、各個子View是什么關(guān)系

  5. 了解ViewGroup是如何包含View的,以及不同ViewGroup擺放子視圖的規(guī)則,比如:
    LinearLayout線性布局,顧名思義子View只能水平或垂直方向成線性排列。
    RelativeLayout相對布局,相對指的是相對位置(這個相對位置又可以分為:子視圖與父布局的相對位置;子視圖間的相對位置),比如將子View放到父布局的頂部、底部或中間位置等;或者將ImageView放到父布局左側(cè),將TextView放到父布局的右側(cè)及父布局的頂部。(這樣你就能根據(jù)相對位置,確定TextView基本位于整個布局的右上角位置)。

  6. 父布局包含子視圖,在XML中是怎么實現(xiàn)的。(注意下各個屬性,具體不細(xì)說了)

1B-02-認(rèn)識線性布局(LinearLayout)

  1. 有個問題,譯文這塊是干啥的,沒太明白。查了一下貌似是匹配譯文的時間節(jié)點?會不會造成理解困擾要不要去掉?有清楚的來說說?


    whatsthis.jpg
  2. 了解LinearLayout線性布局XML的寫法,包括ViewGroup命名空間及各個控件屬性的含義和用法。
    命名空間,用來指定屬性來自哪個命名空間。

  3. 結(jié)合ViewGroup和TextView、ImageView畫一個來賓列表布局,過程中留意使用wrap_content和match_parent屬性,學(xué)會使用layout_weight權(quán)重這個屬性,并能自己利用權(quán)重實現(xiàn)布局效果。

  4. stackoverflow 不多說了,程序員必備。

1B-03-聊一聊相對布局(RelativeLayout):

  1. LinearLayout只能橫向或縱向線性布局,局限性較強(qiáng);RelativeLayout相對布局,則更靈活。
  2. 子View相對于父View布局的位置,可通過幾個屬性(屬性值為true/false)來控制:
    android:layout_alignParentTop
    android:layout_alignParentBottom
    android:layout_alignParentLeft
    android:layout_alignParentRight
    android:layout_CenterHorizontal
    android:layout_CenterVertical
    一目了然,無需贅述。
    注:若不指定子View任何相對位置,則默認(rèn)在左上角顯示。
    另:View間的相對位置,通過android:layout_toLeftOf="相對控件ID"等屬性調(diào)節(jié)。
  3. 視頻中提到的 "講師批注的代碼的鏈接" 沒貼出,github鏈接如下:
    https://gist.github.com/anonymous/e7eb5ceff9dedfc376eb

1B-04-幫助你更好的布局-設(shè)定內(nèi)外邊距

  1. Padding -- 內(nèi)邊框,指控件內(nèi)容,距離控件的邊距。
  2. Margin -- 外邊框,指父View和子View之前,子控件距離邊父控件的邊距。
    這是兩個屬性,如:
    在一個控件中 為 android:padding = "8dp" 或四個方向分別控制(不列出了);
    在父布局和子控件中,為 android:layout_margin = "8dp" 或 四方向控制。
  3. Material Design 建議padding和margin的屬性值,以8dp倍數(shù)為宜。
  4. 學(xué)會合理使用padding和margin屬性,編寫出更合理美觀的頁面。

PS:又帥又逗的Kunal結(jié)尾,以及我覺得有必要知道視頻最后那位,Google工程師的名字,以表敬意,他叫:KirillO(∩_∩)O

Kunal.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容