簡體   English   中英

android redraw布局以編程方式

[英]android redraw layout programmatically

我的布局有時不能正確定位元素。 我嘗試了很多解決方案,但獨特的工作方式是從縱向旋轉到橫向,然后從橫向返回到縱向。 然后布局自動重繪,完美契合。 我設置了方向|鍵盤,因此不會重新加載內容,只會重新繪制內容。 如何像landscape-portrait那樣重繪內容如何? 謝謝。

編輯:我試過以下,沒有任何效果

getWindow().getDecorView().findViewById(android.R.id.content).invalidate();
getWindow().getDecorView().findViewById(android.R.id.content).requestLayout();

Activity在onCreate setContentView(R.layout.main);上設置了主要布局setContentView(R.layout.main);

布局“main”包含TabHost和Admob。 布局“視圖”包含tab1上顯示的webview(“id:myWebview”)。

並試圖使他們無效! webview,布局主要和布局視圖和崩潰

您是否嘗試invalidate() 根視圖 invalidate()

findViewById(android.R.id.content).invalidate();

這應該重繪整個布局。

當屏幕方向更改時,Android會重新創建當前的活動。

嘗試調用measure(int,int)requestLayout() 否則,沒有機會以編程方式重新布局視圖。

僅調用requestLayout()並讀取View類描述以獲取更多信息。

如果這是不安全或不好的做法,請糾正我。 我也嘗試了所有這些方法,絕望的決定只是嘗試再次調用我的onCreate並且它有效。 所以現在我將在更新數據時使用onCreate(null)刷新我的視圖。 如果這是不安全或不良做法,如果可能的話,請告訴我一個可行的替代方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM