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方法中編寫(xiě)這段代碼,從而設(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)文章
Flutter時(shí)間軸Timeline的實(shí)現(xiàn)
時(shí)間軸在很多地方都可以用的到,本文介紹了Flutter時(shí)間軸Timeline的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05Android自定義view實(shí)現(xiàn)動(dòng)態(tài)柱狀圖
這篇文章主要為大家詳細(xì)介紹了Android自定義view實(shí)現(xiàn)動(dòng)態(tài)柱狀圖的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Android Data Binding數(shù)據(jù)綁定詳解
本文主要介紹Android Data Binding數(shù)據(jù)綁定的知識(shí),這里整理了詳細(xì)的資料及簡(jiǎn)單示例代碼幫助大家學(xué)習(xí)理解此部分知識(shí),有需要的小伙伴可以參考下2016-09-09Android使用google breakpad捕獲分析native cash
這篇文章主要介紹了Android使用google breakpad捕獲分析native cash 的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04Android事件分發(fā)機(jī)制深入刨析原理及源碼
Android?的事件分發(fā)機(jī)制大體可以分為三部分:事件生產(chǎn)、事件分發(fā)?、事件消費(fèi)。事件的生產(chǎn)是由用戶(hù)點(diǎn)擊屏幕產(chǎn)生,我們這次著重分析事件的分發(fā)和消費(fèi),因?yàn)槭录职l(fā)和處理聯(lián)系的過(guò)于緊密,這篇文章將把事件的分發(fā)和消費(fèi)放在一起分析2023-04-04Android實(shí)現(xiàn)顏色選取圓盤(pán)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)顏色選取圓盤(pán),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06android現(xiàn)有項(xiàng)目輕微改動(dòng)適配平板心得
這篇文章主要介紹了android現(xiàn)有項(xiàng)目輕微改動(dòng)適配平板心得,對(duì)android適配感興趣的同學(xué)可以參考下2021-04-04Android 中自定義ContentProvider與ContentObserver的使用簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android 中自定義ContentProvider與ContentObserver的使用簡(jiǎn)單實(shí)例的相關(guān)資料,這里提供實(shí)例幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下2017-09-09Android Studio+Servlet+MySql實(shí)現(xiàn)登錄注冊(cè)
對(duì)于大多數(shù)的APP都有登錄注冊(cè)這個(gè)功能,本文就來(lái)介紹一下Android Studio+Servlet+MySql實(shí)現(xiàn)登錄注冊(cè),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05