Android LayoutParams使用案例詳解
LayoutParams是什么?
LayoutParams主要保存了一個(gè)View的布局參數(shù),因此可以使用LayoutParams來(lái)改變布局參數(shù)從而達(dá)到View位置的效果,一般在自定義View的時(shí)候使用。
LayoutParams怎么用?
- 如果父控件是LinearLayout,需要使用LinearLayout.LayoutParams
代碼如下:
LinearLayout.LayoutParams layoutParams=(LinearLayout.LayoutParams)getLayoutParams(); layoutParams.leftMargin=getLeft()+offsetX; layoutParams.topMargin=getTop()+offsetY; setLayoutParams(layoutParams)
- 如果父控件是RelativeLayout的話,需要使用RelativeLayout.LayoutParams。
RelativeLayout.LayoutParams layoutParams=(RelativeLayout.LayoutParams)getLayoutParams(); layoutParams.leftMargin=getLeft()+offsetX; layoutParams.topMargin=getTop()+offsetY; setLayoutParams(layoutParams)
- 除了使用布局的LayoutParams外,我們還可以用ViewGroup.MarginLayoutParams來(lái)實(shí)現(xiàn):
ViewGroup.MarginLayoutParams layoutParams=(ViewGroup.MarginLayoutParams)getLayoutParams(); layoutParams.leftMargin=getLeft()+offsetX; layoutParams.topMargin=getTop()+offsetY; setLayoutParams(layoutParams);
- 對(duì)于一些不需要尋找父View,自己new出一個(gè)View自定義的情況。
View line = null; LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 1); layoutParams.leftMargin = 10; line = new View(mContext); line.setBackgroundResource(R.color.color_tie_bg); addView(line, layoutParams);
- 通過(guò)WindowManager.LayoutParams來(lái)實(shí)現(xiàn),下面是一段獲取設(shè)置Window大小的代碼,例如在自定義Dialog的時(shí)候,onCreate方法中編寫這段代碼,從而設(shè)置dialog最后顯示W(wǎng)indow的大小。
Window win = getWindow(); WindowManager.LayoutParams lp = win.getAttributes(); lp.height = DensityUtil.dip2px(mContext, 185); lp.width = DensityUtil.dip2px(mContext, 280); win.setAttributes(lp);
總結(jié)
以上是在開(kāi)發(fā)過(guò)程中用到的一些LayoutParams相關(guān)的內(nèi)容,后期會(huì)不斷補(bǔ)充。
到此這篇關(guān)于Android LayoutParams使用案例詳解的文章就介紹到這了,更多相關(guān)Android LayoutParams使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android 藍(lán)牙連接 ESC/POS 熱敏打印機(jī)打印實(shí)例(藍(lán)牙連接篇)
這篇文章主要介紹了Android 藍(lán)牙連接 ESC/POS 熱敏打印機(jī)打印實(shí)例(藍(lán)牙連接篇),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04
Kotlin Service服務(wù)組件開(kāi)發(fā)詳解
這幾天分析了一下的啟動(dòng)過(guò)程,于是乎,今天寫一下Service使用; 給我的感覺(jué)是它并不復(fù)雜,千萬(wàn)不要被一坨一坨的代碼嚇住了,雖然彎彎繞繞不少,重載函數(shù)一個(gè)接著一個(gè),就向走迷宮一樣,但只要抓住主線閱讀,很快就能找到出口2022-12-12
Android中SeekBar和RatingBar用法實(shí)例分析
這篇文章主要介紹了Android中SeekBar和RatingBar用法,結(jié)合實(shí)例形式分析了SeekBar和RatingBar的功能、定義與簡(jiǎn)單使用方法,需要的朋友可以參考下2016-06-06
Android實(shí)現(xiàn)用戶登錄記住密碼功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)用戶登錄記住密碼功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
Android實(shí)戰(zhàn)教程第七篇之如何在內(nèi)存中存儲(chǔ)用戶名和密碼
這篇文章主要為大家詳細(xì)介紹了Android如何實(shí)現(xiàn)在內(nèi)存中存儲(chǔ)用戶名和密碼的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11

