我有了這個GUI:如何從onLayout重新加載界面?
的LinearLayout
-TableLayout heading
-ViewFlipper flipper
- TableLayout1
- TableLayout2
- TableLayout3
... (dynamicly added)
我改變T1的vf.onLayout寬度(..),但我不能重繪....請幫助:/ 以下是代碼:
@Override
protected void onLayout(boolean changed, int left, int top, int right,
int bottom) {
super.onLayout(changed, left, top, right, bottom);
Log.i(TAG, "flipper onLayout");
int idx = this.getDisplayedChild();
Log.i(TAG, "flipper displayed child is: " + idx);
this.heading.cols_widths = some_cols_widths;
this.heading.resize_cols();
LinearLayout lay = (LinearLayout) this.heading.getParent();
lay.requestLayout();
}
這驅使我瘋了:/
不是一個好主意,改變onLayout的佈局 –
@nininho好吧,那麼佈局第二個視圖後更新第一個視圖的好地方在哪裏? :) – xliiv
當你改變/翻轉到另一個視圖時,它將被佈局並再次繪製,因此不需要更新不可見的視圖。 –