Android View.setKeepScreenOn() - 当视图为GONE时它是否适用?

时间:2013-04-29 13:46:22

标签: android view gps visible

我有一些带有GPS信息的视图。它是VISIBLE / GONE在应用内部带有GPS开/关开关。我想在此视图上调用setKeepScreenOn(true),以便屏幕保持开启状态,但仅限于VISIBLE,而不是GONE

1 个答案:

答案 0 :(得分:1)

我会说当视图消失时它也适用,但我不知道。不过,测试应该不难。

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

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)

非常简单。

希望它有所帮助。