我有兩個按鈕放在佈局內部。我想'他們有相同的寬度。但每個按鈕的寬度必須等於其中最寬的那個。現在我使用ViewTreeObserver。android:按鈕的寬度相當於最寬的按鈕
class LayoutListener implements ViewTreeObserver.OnGlobalLayoutListener{
private Button btn1, btn2;
public LayoutListener(Button b1, Button b2){
btn1 = b1; btn2 = b2;
}
@Override
public void onGlobalLayout() {
int w1 = btn1.getWidth();
int w2 = btn2.getWidth();
if (w1 < w2)
btn1.setWidth(w2);
else
btn2.setWidth(w1);
}
}
但它不是很好的決定becase元素被顯示給用戶後重繪,它看起來很可怕。 和你可以猜測的問題,我如何達到需要的行爲?有沒有標記操作的方式,或者我應該實現特殊的代碼?最好避免創建可用作按鈕容器的自定義佈局。
我創建視圖:視圖= inflator.inflate(R.layout.list_view_item,空),並不能趕上創建方法。除此之外,如果我沒有弄錯(我是android開發中的新手),只有在onMesure方法中才有可能獲得計算大小,不是。 – DotNetter
按鈕是否在xml文件中定義? – Nate
對於遲到的回答感到抱歉。我需要擱置我的android項目一段時間。我嘗試了你的建議:看到我在這個主題的答案 – DotNetter