0
我有一個RelativeLayout
(HorizontalScrollView
的直接孩子),它延伸到屏幕邊界之外,我在其中動態地放置了一些視圖。佈局(在HorizontalScrollView中)沒有在第二個連續佈局()上更新不同的參數
爲了捕捉所述圖的一部分(作爲位圖),I執行以下操作:
v.layout(0, 0, cw, ch);
v.draw(canvas)
然後,以恢復原來的邊界(其爲HSV的全寬) ,再次調用layout()
,但也可以滾動直到範圍0-> cw而不是fullWidth。
v.layout(0, 0, fullWidth, fullHeight);
v.invalidate();
我已經嘗試了所有的以下方法和作爲苦肉計所有的組合:
v.getParent().invalidateChild(v, new Rect(0, 0, width, height));
((Activity)v.getContext()).getWindow().getDecorView().findViewById(android.R.id.content).invalidate();
v.forceLayout();
但佈局不更新,直到我專注於另一種觀點(點擊另一個按鈕/視圖)。
嘗試一個簡單的'v.requestLayout();' – petey
哇...非常感謝! :) 我很驚訝,我沒有嘗試它。 –