【问题标题】:Android View.setKeepScreenOn() - does it apply when the view is GONE? [closed]Android View.setKeepScreenOn() - 当视图消失时它是否适用? [关闭]
【发布时间】:2013-04-29 13:46:21
【问题描述】:

我有一些 GPS 信息的视图。它由VISIBLE/GONE 制作,应用程序内带有 GPS 开/关开关。我想在这个视图上调用setKeepScreenOn(true),以便它保持屏幕打开,但仅当它是VISIBLE 而不是当它是GONE

【问题讨论】:

  • 不幸的是,你没有说你的问题是什么,尽管有人可能会怀疑这是因为没有View.setScreenOn()stackoverflow.com/a/2772015/1856738 怎么样
  • 错字,我的意思是 setKeepScreenOn()。刚刚解决了这个问题。其实我没有问题。非常简短的 android 文档是问题所在:)
  • 不是重复的,问题非常具体和具体!

标签: android view gps visible


【解决方案1】:

我会说它也适用于视图消失的情况,但我不知道。不过应该不难测试。

但是,只要您将其可见性设置为 GONEView.setKeepScreenOn(true),只要将其可见性设置为 VISIBLE,您就可以使用 View.setKeepScreenOn(false)

View view = ...; // I guess something with findViewById() happens here
view.setVisibility(View.GONE);
view.setKeepScreenOn(false);
...
view.setVisibility(View.VISIBLE);
view.setKeepScreenOn(true);

或者您不必记住这一点,您可以为此定义一个方法:

private void mySetVisibility(View v, int visibility) {
    v.setVisibility(visibility);
    if (visibility == View.GONE) {
        v.setKeepScreenOn(false);
    } else {
        v.setKeepScreenOn(true);
    }
}

然后只使用mySetVisibility(view, View.GONE)mySetVisibility(view, View.VISIBLE)

非常简单。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    相关资源
    最近更新 更多