0

如何以编程方式取消显示?我一天最多可以编译 100 次。而且大多数时候屏幕变暗了,我必须触摸屏幕才能清楚地看到我刚刚做了什么改变。我不需要仅在本地更改系统亮度。我已经尝试了这两种变化都无济于事,我仍然需要触摸屏幕才能使其达到全亮度。现在,如果我在手臂上附加一个 5 磅的重量,也许会有一些好处,而不是一遍又一遍地做同样的事情会带来轻微的刺激。还尝试了注释掉的代码:

    WindowManager.LayoutParams layout = getWindow().getAttributes();
    layout.dimAmount=1F;
    //screenBrightness = 1F;
    getWindow().setAttributes(layout);
    setContentView(R.layout.main); 
4

2 回答 2

0

我看到两种方法:

1.最简单的方法是使用keepScreenOn属性来防止屏幕变暗。您可以在 XML 中将其设置为 View 属性,但也可以通过编程方式 (setKeepScreenOn)。

例如,以编程方式,您可以将其添加到 Activity 的 onCreate() 方法中:

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);    

2.如果要处理调暗/亮度,也可以尝试设置layout.screenBrightness。如果这种方法不起作用,可能是因为 WindowManager 不知道它(即没有发生刷新)。这里有一个公认的 stackoverflow 答案,但我从未测试过。

于 2012-06-12T01:36:37.220 回答
0

基于 Thomas Calc 先前的答案,如果您只希望在开发应用程序时保持显示,您可能想尝试

if (BuildConfig.DEBUG) {
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}

这只会在您开发应用程序时保持显示,而不是在您导出应用程序以供最终使用时保持显示。

于 2012-06-12T03:49:34.317 回答