android 實現流式布局FlowLayout

2021-07-08 21:52:41 字數 1213 閱讀 6376

import android.content.context;

import android.util.attributeset;

import android.util.log;

import android.view.view;

import android.view.viewgroup;

/*** @author yeguangrong**/

public class flowlayout extends viewgroup

public flowlayout(context context, attributeset attrs)

public flowlayout(context context)

/*** 測量獲取布局的寬和高

*/@override

protected void onmeasure(int widthmeasurespec, int heightmeasurespec)

linewidth = childview.getmeasuredwidth()+marginlayoutparams.leftmargin+marginlayoutparams.rightmargin;

}else}}

/*** 設定viewgroup最終的寬和高

*/if(maxwidth != 0)else

}/**

* 上面確定viewgroup的寬和高後,我們需要對viewgroup裡面的子控制項進行擺放,確定每個控制項的位置(位置可通過l,t,r,b四個值來設定)。

* l,是控制項的左邊距離父控制項(此處即為該viewgroup)的距離,通過getleft()可獲得其值

* t,是控制項的上邊距離距離其父控制項的距離,通過gettop()可獲得其值.

* r,是控制項的右邊距離距離其父控制項的距離,通過getright()可獲得其值.

* b,是控制項的底邊距離距離其父控制項的距離,通過getbottom()可獲得其值.

*/@override

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

if(right >= measurewidth)else}}

@override  

public viewgroup.layoutparams generatelayoutparams(attributeset attrs)    }

android流式布局控制項

另外再說乙個控制項,先看效果圖 使用 如下 private void init 很簡單,flowlayout繼承viewgroup,用addview將view新增進去就行,有興趣的童鞋可以寫乙個adapter方便使用,老規矩,本人一向喜歡直入主題,看原始碼實現 public flowlayout c...

Android端流式布局

public class searchflowlayout extends viewgroup public searchflowlayout context context,attributeset attrs public searchflowlayout context context,att...

布局管理 流式布局

2007 11 16 14 18 使用流式布局管理器時,gui元件將按照新增入容器的順序自左而右排列在一行上,如果一行空間不足,則另起一行。預設情況下,元件是劇中排列的。可以通過改變面板的預設布局管理器來改變元件在每一行上的排列位置。語句示例如下 flowlayout fl new flowlayo...