我希望强制主布局资源视图重新绘制/刷新,比如Activity.onResume()方法。我该怎么做?
在主布局视图中,我指的是在我的Activity.onCreate()中调用的一个(下面的“R.layout.maincreen”),如下所示:-
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainscreen);
}
发布于 2018-03-22 14:41:45
若要严格回答以下问题:请使用voidance():
公共无效无效(),因为:API级别1 使整个视图无效。如果视图是可见的,onDraw(画布)将在将来的某个时候被调用。这必须从UI线程调用。若要从非UI线程调用,请调用postInValue()。
ViewGroup vg = findViewById (R.id.mainLayout);
vg.invalidate();
现在,当活动恢复时,它会使“每个视图”自行绘制。不需要调用使()无效。若要应用主题,请确保在绘制任何视图之前,即在绘制之前setContentView(R.layout.mainscreen);
公共无效setTheme(Int RESID)自:API级别1 设置此上下文的基本主题。请注意,在上下文中实例化任何视图之前(例如,在调用setContentView(View)或Inflate(int,ViewGroup)之前),应该先调用它。
API文档引用在这里:
由于onDraw()方法在已经实例化的视图上工作,setTheme将无法工作。我本人对主题没有经验,但我认为有两个备选方案:
发布于 2018-03-22 15:29:11
试一试getWindow().getDecorView().findViewById(android.R.id.content).invalidate();
https://stackoverflow.com/questions/-100003663
复制相似问题