安卓流式布局

2021-09-12 01:44:55 字數 3830 閱讀 5262

##個人名言–他日若遂凌雲志,敢笑黃巢不丈夫

/**

* @auther: luck

* @date: 2019/3/6 08:55:33

* @description:

*/public

class

custview

extends

viewgroup

public

custview

(context context, attributeset attrs)

public

custview

(context context, attributeset attrs,

int defstyleattr)

private list

> mlineviews =

newarraylist

>()

;private list

mlineheight =

newarraylist

();/**

* 測量所有子view大小,確定viewgroup的寬高

** @param widthmeasurespec

* @param heightmeasurespec

*/@override

protected

void

onmeasure

(int widthmeasurespec,

int heightmeasurespec)

else

else

if(i == childviewscount -1)

}}setmeasureddimension

(viewgroupwidth, viewgroupheight);}

/** * 設定viewgroup裡子view的具體位置

** @param changed

* @param l

* @param t

* @param r

* @param b

*/@override

protected

void

onlayout

(boolean changed,

int l,

int t,

int r,

int b)

left =

getpaddingleft()

; top += lineheight;}}

/** * 指定viewgroup的layoutparams

** @param attrs

* @return

*/@override

public layoutparams generatelayoutparams

(attributeset attrs)

android:layout_width=

"match_parent"

android:layout_height=

"wrap_content"

android:layout_margintop=

"4dp"

>

android:layout_width=

"wrap_content"

android:layout_height=

"wrap_content"

android:layout_margin=

"8dp"

android:padding=

"5dp"

android:text=

"歐美影視"

android:textcolor=

"@color/coloraccent"

/>

android:layout_width=

"wrap_content"

android:layout_height=

"wrap_content"

android:layout_margin=

"8dp"

android:padding=

"5dp"

android:text=

"婚姻育兒"

android:textcolor=

"@color/coloraccent"

/>

android:layout_width=

"wrap_content"

android:layout_height=

"wrap_content"

android:layout_margin=

"8dp"

android:padding=

"5dp"

android:text=

"散文"

android:textcolor=

"@color/coloraccent"

/>

android:layout_width=

"wrap_content"

android:layout_height=

"wrap_content"

android:layout_margin=

"8dp"

android:padding=

"5dp"

android:text=

"程式設計師"

android:textcolor=

"@color/coloraccent"

/>

android:layout_width=

"wrap_content"

android:layout_height=

"wrap_content"

android:layout_margin=

"8dp"

android:padding=

"5dp"

android:text=

"大學"

android:textcolor=

"@color/coloraccent"

/>

android:layout_width=

"wrap_content"

android:layout_height=

"wrap_content"

android:layout_margin=

"8dp"

android:padding=

"5dp"

android:text=

"運英"

android:textcolor=

"@color/coloraccent"

/>

android:layout_width=

"wrap_content"

android:layout_height=

"wrap_content"

android:layout_margin=

"8dp"

android:padding=

"5dp"

android:text=

"設計"

android:textcolor=

"@color/coloraccent"

/>

android:layout_width=

"wrap_content"

android:layout_height=

"wrap_content"

android:layout_margin=

"8dp"

android:text=

"讀書"

android:textcolor=

"@color/coloraccent"

/>

<

原文:

安卓常見布局

線性布局中巢狀的元件之間不可以重疊,有乙個布局方向 水平或者豎直,依次排開.在豎直布局下,左對齊 右對齊,水平居中生效.在水平布局下,頂部對齊 底部對齊 豎直居中生效.線性布局中有個很重要的概念 權重 按比例分配螢幕的剩餘寬度或者高度 谷歌推薦使用時將空間寬度或高度設定為0dp.在定義布局顏色時候,...

安卓布局優化

1,androidui渲染機制 正如玩pc遊戲,fps大概在60fps左右,就表示顯示卡效能較高,遊戲不會卡頓。而在安卓中系統通過vsync訊號觸發對ui的渲染 重繪,其間隔時間是16ms。16ms就是1000ms中顯示60幀畫面的單位時間 2,避免overdraw 過度繪製會浪費很多的cpu gp...

安卓的布局管理

我們只對安卓最常用的兩種布局方式進行介紹 1 線性布局linearlayout 這種布局比較常用也比較簡單,就是一般的按行或者列依次排列放置控制項,每個元素都位於前乙個元素之後,linearlayout中的子元素屬性android layout weight用來描述該子元素在剩餘空間中占有的比例,當...