Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 布局學習之——LinearLayout的layout_weight屬性

Android 布局學習之——LinearLayout的layout_weight屬性

編輯:關於Android編程

一直對layout_weight屬性感到比較困惑,今天學習一下,來深入了解layout_weight屬性和它的用法。        定義     首先,看看Android官方文檔是怎麼說的,畢竟人家才是權威嘛。                      官方文檔的意思是:                    layout_weight屬性用於分配LinearLayout中的的額外空間(extra space)。                    如果View不想拉伸的話,layout_weight值設置為0。否則的話這些像素會按比例分配到                    這些weight值大於0的所有View。       換句話說,也就是android:layout_weight屬性告知LinearLayout如何進行子組件的布置安排。    例子     說這麼多,不如用幾個例子來形象的描述它:      1.首先設置一個Linear_Layout布局,方向設置為水平,放置兩個TextView,不設置Layout_weight值。可以看到      空余的白色部分就是官方文檔中所說的extra space(額外空間)。          復制代碼  1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  2     xmlns:tools="http://schemas.android.com/tools"  3     android:layout_width="match_parent"  4     android:layout_height="wrap_content"  5     android:orientation="horizontal" >  6   7     <TextView  8         android:layout_width="wrap_content"  9         android:layout_height="wrap_content" 10         android:background="#f00" 11         android:text="TextView1" /> 12     <TextView  13         android:layout_width="wrap_content" 14         android:layout_height="wrap_content" 15         android:background="#0f0" 16         android:text="ThisIsTextView2" 17         /> 18 </LinearLayout>         2.設置兩個TextView的Layout_weight的值都為1。        在上面的xml文件中,給每個TextView增加一個"android:layout_weight=1"屬性。               TextView1,TextView2的layout_weight值分別設置為2和1,1和2,看運行的效果:            相信通過以上例子和圖片,大家應該對layout_weight屬性的用法已經非常理解了。         那麼,問題又來了。如果我想要將兩個子組件分配相同的寬度或高度,那該怎麼設置layout_weight呢?         只需要將各子組件的layout_width值設置為0,這樣就避開了第一步的空間分配。         這樣LinearLayout就只會考慮使用layout_weight值來完成空間的分配了。           復制代碼  1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  2     xmlns:tools="http://schemas.android.com/tools"  3     android:layout_width="match_parent"  4     android:layout_height="wrap_content"  5     android:orientation="horizontal" >  6   7     <TextView  8         android:layout_width="0dp"<!--將layout_width值設置為0dp以避開第一步的空間分配-->  9         android:layout_height="wrap_content" 10         android:background="#f00" 11         android:layout_weight="1"<!--LinearLayout將會按此值分配空間--> 12         android:text="TextView1" /> 13     <TextView  14         android:layout_width="0dp" 15         android:layout_height="wrap_content" 16         android:background="#0f0" 17         android:layout_weight="1" 18         android:text="ThisIsTextView2" 19         /> 20 </LinearLayout>
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved