【问题标题】:When using activity.recreate() screen flashes black for 0,5 secs使用 activity.recreate() 时屏幕黑屏 0.5 秒
【发布时间】:2013-11-15 03:33:35
【问题描述】:

当使用 activity.recreate() 时,屏幕会黑屏 0.5 秒,有没有办法解决这个问题,所以它不会闪烁。或者在使用activity.recreate()之前让整个屏幕淡出到黑色?

【问题讨论】:

  • 为什么要使用.recreate()?
  • 我有一个应用程序,我有这种所谓的模式,其中隐藏了私人数据,所以我重新创建了活动,以便重新加载屏幕上的数据。我还可以隐藏我不想在此模式下显示的所有内容(当我使用按钮启用此模式时),但如果我执行 .recreate() 代码会少得多。因为如果打开此模式,我会检查何时加载每个项目的数据。
  • 您找到解决此问题的方法了吗?

标签: java android android-activity


【解决方案1】:

尝试制作 2 个布局,1 个具有隐藏视图,另一个具有所有元素可见,并使用 setContentView(layoutId); 在它们之间切换,如果 UI 元素上有侦听器,请将设置的侦听器从 onCraete() 移动到 onResume()并在布局切换时调用它

【讨论】:

  • 这对我不起作用,因为我有一个 Activity,其中有 1 个主布局。当我按下操作栏中的选项卡时,它会在主布局中加载一个片段,片段处理布局.
  • 我用两个抽象函数为我的片段创建了一个超类。当我在活动中切换到一个全局变量时,我将我的片段放在了一个全局变量中,当我打开该模式时,我调用超类中的函数来隐藏视图!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多