Android自實現百分比布局

2021-08-21 16:26:01 字數 1549 閱讀 7416

在開發中,元件布局是大家每日開發必須要面對的工作,對於android來說提供五種常用布局,分別是:

但是,開發中如果可以按照百分比的方式進行介面布局,將會對我們的適配工作帶來許多便利。前段時間,谷歌正式提供百分比布局支援庫(android-support-percent-lib),對於我們開發者來講只需要匯入這個庫就可以實現百分比布局。現在我們拋開谷歌庫不談,自己其實也可以實現百分比布局。

/**

* * @classname: percentrelativelayout

* @description: 自定義百分比相對布局

* @author 猴子搬來的救兵

*/public class percentrelativelayout extends relativelayout

public percentrelativelayout(context context, attributeset attrs, int defstyleattr)

public percentrelativelayout(context context, attributeset attrs)

/*** 重寫測量方法

*/@override

protected void onmeasure(int widthmeasurespec, int heightmeasurespec)

if (widthpercent != 0)

if (hightpercent != 0)

}super.onmeasure(widthmeasurespec, heightmeasurespec);

}/**

* 重寫對子控制項布局方法

*/@override

protected void onlayout(boolean changed, int l, int t, int r, int b)

/*** 重寫對子控制項布局屬性進行獲取解析

*/@override

public layoutparams generatelayoutparams(attributeset attrs)

public static class layoutparams extends relativelayout.layoutparams

public layoutparams(int w, int h)

public layoutparams(android.view.viewgroup.layoutparams source)

public layoutparams(android.widget.relativelayout.layoutparams source) }}

自定義屬性檔案:

<?xml version="1.0" encoding="utf-8"?>

布局檔案:

執行結果:

android 百分比布局

為了更好的與碎片化戰鬥,android團隊終於推出百分比支援庫 這個庫是非常容易使用的,因為它就如同 relativelayout 和 framelayout 一樣我們都熟悉,只是有一些額外的功能。在gradle中新增依賴 compile com.android.support percent 23...

百分比布局

參考位址 螢幕的適配是我們android開發最經常做的事情之一,我們一直指望著能夠一套布局適配所有。於是在android5.0之後,提供了android support percent lib,這樣我們可以盡情的使用。使用的時候,我們嗯需要設定的有 layout marginpercent layo...

百分比布局

其中相對布局和幀布局官方是有支援庫的 compile com.android.support percent 25.3.0 但線性布局並沒有 public class percentlinearlayout extends linearlayout override protected void o...