Android LayoutParams簡單說明

jopen 12年前發布 | 59K 次閱讀 Android Android開發 移動開發

導讀:其實這個LayoutParams類是用于child view(子視圖) 向 parent view(父視圖)傳達自己的意愿的一個東西(孩子想變成什么樣向其父親說明)其實子視圖父視圖可以簡單理解成

 

簡單說說 自己對 android LayoutParams的理解吧

1 public static class
2 ViewGroup.LayoutParams
3 extends Object
4  
5 java.lang.Object
6 android.view.ViewGroup.LayoutParams //繼承關系
        一個LinearLayout 和 這個LinearLayout里邊一個 TextView 的關系 TextView 就算LinearLayout的子視圖 child view .需要注意的是LayoutParams只是ViewGroup的一個內部類 這里邊這個也就是ViewGroup里邊這個LayoutParams類是 base class 基類 實際上每個不同的ViewGroup都有自己的LayoutParams子類   比如LinearLayout 也有自己的 LayoutParams 大家打開源碼看幾眼就知道了
01 //創建一個線性布局
02 private LinearLayout mLayout;
03 mLayout = (LinearLayout) findViewById(R.id.layout);
04 //現在我要往mLayout里邊添加一個TextView
05 //你可能會想直接在布局文件里邊配置不就O 了 那是 但是這里為了說明問題我們用代碼實現
06 TextView textView = new TextView(Activity01.this);
07 textView.setText("Text View " );
08 //這里請不要困惑這里是設置 這個textView的布局 FILL_PARENT WRAP_CONTENT 和在xml文件里邊設置是一樣的如
09 /**<TextView
10 android:layout_width="fill_parent"
11 android:layout_height="wrap_content"
12 android:text="Text View"/>*/
13 //在xml里邊怎么配置高寬大家都會的。
14 //第一個參數為寬的設置,第二個參數為高的設置。
15 LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
16 LinearLayout.LayoutParams.FILL_PARENT,
17 LinearLayout.LayoutParams.WRAP_CONTENT
18 );
19 //調用addView()方法增加一個TextView到線性布局中
20 mLayout.addView(textView, p);
21 //比較簡單的一個例子

       如果還不能理解下邊在來一段直白的說明:

       LayoutParams繼承于Android.View.ViewGroup.LayoutParams.
       LayoutParams相當于一個Layout的信息包,它封裝了Layout的位置、高、寬等信息。假設在屏幕上一塊區域是由一個Layout占領的,如果將一個View添加到一個Layout中,最好告訴Layout用戶期望的布局方式,也就是將一個認可的layoutParams傳遞進去。
       可以這樣去形容LayoutParams,在象棋的棋盤上,每個棋子都占據一個位置,也就是每個棋子都有一個位置的信息,如這個棋子在4行4列,這里的“4行4列”就是棋子的LayoutParams。

       但LayoutParams類也只是簡單的描述了寬高,寬和高都可以設置成三種值:
       1,一個確定的值;
       2,FILL_PARENT,即填滿(和父容器一樣大小);
       3,WRAP_CONTENT,即包裹住組件就好。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!