在開發中,元件布局是大家每日開發必須要面對的工作,對於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...