帶邊框 Border 的LinearLayout

2021-08-17 20:14:18 字數 1631 閱讀 8481

先看一下這樣乙個簡單的布局,所展示的內容很少,上下兩條分割線,兩個文字。

1.普通做法

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

2. 將分割線view定義在border.xml裡面,通過include引入。
<?xml version="1.0" encoding="utf-8"?>

3. 將兩條線放到.9中。

4. 自定義linearlayout將分割線定義為屬性。

public class borderlinearlayout extends linearlayout 

public borderlinearlayout(context context, attributeset attrs)

private void init()

@override

protected void dispatchdraw(canvas canvas)

int vw = getwidth();

int vh = getheight();

if (mboderleftsize > 0)

if (mbodertopsize > 0)

if (mboderrightsize > 0)

if (mboderbottomsize > 0)

}/**

* 設定邊框顏色

** @param color

*/public void setbordercolor(int color)

/*** 設定邊框寬大小

** @param left

* @param top

* @param right

* @param bottom

*/public void setbordersize(int left, int top, int right, int bottom)

/*** 邊框是否可用

** @return

*/public boolean isborderenable()

/*** 設定邊框是否可用

** @param enable

*/public void setborderenable(boolean enable)

isborderenable = enable;

invalidate();}}

xml

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

總結:方式1. **量大,維護成本高,分割線的顏色變了,就要把所有帶分割線的布局檔案統統改一遍,並不保證不會遺漏。

方式2. 復用和節省**方便維護,但是會造不同樣式的xml檔案。

方式3. 顏色變化,導致過多,增加ul的工作量。

方式4. 可根據需求隨意配置邊框顏色大小等屬性。靈活、可拓展、好維護。

CSS 邊框 border 例項

所有邊框屬性在乙個宣告之中 本例演示用簡寫屬性來將所有四個邊框屬性設定於同一宣告中。設定四邊框樣式 本例演示如何設定四邊框樣式。設定每一邊的不同邊框 本例演示如何在元素的各邊設定不同的邊框。所有邊框寬度屬性在乙個宣告之中 本例演示用簡寫屬性來將所有邊框寬度屬性設定於同一宣告中。設定四個邊框的顏色 本...

css 盒子邊框 border

1 css 邊框屬性 border width border style border color 1.1 邊框樣式 border style border style 值 none 預設無邊框 dotted 定義乙個點線邊框 dashed 定義乙個虛線邊框 solid 定義實線邊框 1.2邊框顏色...

CSS 邊框 border 例項

css 邊框 border 例項 元素的邊框 border 是圍繞元素內容和內邊距的一條或多條線。css border 屬性允許你規定元素邊框的樣式 寬度和顏色。css 邊框屬性 屬性 描述 border 簡寫屬性,用於把針對四個邊的屬性設定在乙個宣告。border style 用於設定元素所有邊框...