Android addView()方法簡述(一)

Android addView()方法分爲以下幾個部分
addView()方法簡述(一)
addView()方法實際使用和麪試手冊(二)

簡介

大家都知道addView()一般用來動態添加View,LinearLayout、RelativeLayout添加子控件都可以用addView()。去看Android官方文檔:ViewGroup裏有addView的相關介紹。大概如下:

方法 解釋
addView (View child, ViewGroup.LayoutParams params) Adds a child view with the specified layout parameters.
- 添加具有指定佈局參數的子視圖。默認往ViewGroup最後添加。
addView (View child, int index) Adds a child view. If no layout parameters are already set on the child, the default parameters for this ViewGroup are set on the child.
- 添加子視圖。如果沒有在子視圖上設置佈局參數,則此ViewGroup的默認參數將在子視圖上設置。看完這個就知道和上一個的區別了。添加到指定的位置。
addView (View child, int index,ViewGroup.LayoutParams params) Adds a child view with the specified layout parameters.
- 添加具有指定佈局參數的子視圖。添加到指定的位置。
addView (View child) Adds a child view. If no layout parameters are already set on the child, the default parameters for this ViewGroup are set on the child.
- 添加子視圖。如果沒有在子視圖上設置佈局參數,則此ViewGroup的默認參數將在子視圖上設置。
addView (View child, int width, int height) Adds a child view with this ViewGroup’s default layout parameters and the specified width and height.
- 使用此ViewGroup的默認佈局參數和指定的寬度和高度添加子視圖。

看完這個表格,其實對addView方法的不同參數已經有了大致的瞭解了。這裏要說明的是ViewGroup纔有addView方法,View是沒有的。但是參數中的View可以是一個ViewGroup。

各個參數的具體說明

注意:不要從
View.draw(android.graphics.Canvas)、View.onDraw(android.graphics.Canvas)、dispatchDraw(android.graphics.Canvas)
或任何相關方法調用此方法。

1.addView (View child, ViewGroup.LayoutParams params)

這個方法是將第二個參數指定的佈局給第一個參數傳入的子視圖中。

2.addView (View child, int index)

這個方法是將傳入的子視圖放在父佈局的指定位置。
一個豎向的LinearLayout,如果你把index指定爲-1則每次都會把子視圖放在最後一個,也就是一個一個向下疊加,新加入的會放在最後;如果把Index指定爲0,新加入的將會在頭部把先加入的子視圖擠下去,達到在頂部插入視圖的效果。以此類推,別的數字和佈局都差不多,大家多思考就能想出效果。

3.addView (View child, int index,ViewGroup.LayoutParams params)

這個就是前兩個的一個結合,不多說了。

4.addView (View child)

需要注意的是,這個會吧父佈局的佈局信息添加給這個子視圖。所以,如果你想這個子視圖有自己的佈局信息,就要先通過setLayoutParams設置好佈局信息再addView。

5.addView (View child, int width, int height)

這個看上去就很容易,通過width和height來指定子視圖的寬高。

總結

其實好多公司的APP都是沒有Activity佈局的,他們的佈局其實就是一個空的LinearLayout指定id,然後通過findViewById找到這個根佈局後添加頭部等信息,這樣就可以複用佈局文件,寫起來也容易。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章