我有一些带有GPS信息的视图。它是VISIBLE
/ GONE
在应用内部带有GPS开/关开关。我想在此视图上调用setKeepScreenOn(true)
,以便屏幕保持开启状态,但仅限于VISIBLE
,而不是GONE
。
答案 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)
。
非常简单。
希望它有所帮助。