用於換行版面的自訂ViewGroup
問題:
問題:您需要建立一個一個問題:
您需要建立一個一個問題:您需要建立一個一個問題>以可包裝方式呈現多個小部件的佈局,必要時將它們分成幾行以適應可用空間。預設的ViewGroup組件缺少此功能。
解決方案:測量子視圖:
確定換行符:
設定版面參數:
佈局子視圖:
提供 XML 屬性支援:
public class PredicateLayout extends ViewGroup { private int line_height; public PredicateLayout(Context context) { super(context); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // Calculate available width // Iterate through child views and measure them if (xpos + childw > width) { xpos = getPaddingLeft(); ypos += line_height; } ... } @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { for (int i = 0; i < count; i++) { if (xpos + childw > width) { xpos = getPaddingLeft(); ypos += line_height; } // Position the child view } } }
以上是如何為換行佈局建立自訂視圖群組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!