国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android LayoutParams用法解析

2019-11-09 17:36:07
字體:
來源:轉載
供稿:網(wǎng)友

ViewGroup.LayoutParams介紹

LayoutParams攜帶了子控件針對父控件的信息,告訴父控件如何放置自己

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

每一個ViewGroup(例如LinearLayout, RelativeLayout, CoordinatorLayout, etc)需要存儲有關其孩子view的屬性信息。它的孩子view被放在ViewGroup,這些位置信息存儲在一個包裝類viewgroup.layoutparams對象中。 為了包含一個特定的布局的具體參數(shù),viewgroup使用layoutparams Viewgroup類的子類來存儲。 例如 linearlayout.layoutparams relativelayout.layoutparams coordinatorlayout.layoutparams

對于margin有一個ViewGroup.MarginLayoutParams類代替ViewGroup.LayoutParams。

獲取ViewGroup.LayoutParams

getLayoutParams()方法可以獲取ViewGroup.LayoutParams對象。

舉例如下

public class ExampleView extends View { public ExampleView(Context context) { super(context); setupView(context); } public ExampleView(Context context, AttributeSet attrs) { super(context, attrs); setupView(context); } public ExampleView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setupView(context); } PRivate void setupView(Context context) { if (getLayoutParams().height == 50){ // DO NOT DO THIS! // This might produce NullPointerException doSomething(); } } //...}

ViewGroup.LayoutParams上下轉型

注意LayoutParams攜帶了子控件針對父控件的信息,告訴父控件如何放置自己,所以要使用相應父控件的LayoutParams。

舉例說明,一個LinearLayout包含F(xiàn)rameLayout 錯誤使用

FrameLayout innerLayout = (FrameLayout)findViewById(R.id.inner_layout);FrameLayout.LayoutParams par = (FrameLayout.LayoutParams) innerLayout.getLayoutParams();

正確的使用

FrameLayout innerLayout = (FrameLayout)findViewById(R.id.inner_layout);LinearLayout.LayoutParams par = (LinearLayout.LayoutParams) innerLayout.getLayoutParams();

我的微信二維碼如下

這里寫圖片描述

微信訂閱號二維碼如下:

這里寫圖片描述


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 白银市| 建平县| 呼伦贝尔市| 伊金霍洛旗| 塘沽区| 犍为县| 五寨县| 乐昌市| 布尔津县| 峨眉山市| 汾西县| 吴桥县| 三河市| 利辛县| 通榆县| 巴彦淖尔市| 永安市| 沁水县| 昭觉县| 新余市| 铁岭市| 峨眉山市| 旅游| 石河子市| 高陵县| 潼南县| 广河县| 曲沃县| 泽库县| 英吉沙县| 共和县| 且末县| 台东县| 贡嘎县| 黄冈市| 突泉县| 德保县| 盈江县| 庆城县| 洛南县| 宝坻区|