【问题标题】:Where is API call to do "lights out mode" in honeycomb?在蜂窝中执行“熄灯模式”的 API 调用在哪里?
【发布时间】:2012-03-02 13:45:20
【问题描述】:

我正在开发一款游戏,并希望自己拥有全屏。

有没有人找到让应用在 Android Honeycomb 预览模拟器上全屏显示的方法?

【问题讨论】:

    标签: android-3.0-honeycomb android


    【解决方案1】:

    在完整的 3.0 SDK 中,熄灯模式已更改。您现在可以按如下方式进入熄灯模式:

    View v = findViewById(R.id.view_id);
    v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
    

    您还可以在视图上setlistener 收到有关系统栏可见性更改的通知。

    【讨论】:

    • 此外,HoneycombGallery 示例中提供了完整示例。
    • 根据我的经验,这android:minSdkVersion >=11 时有效。
    • 只是在我调查后澄清一下,您必须使用的视图是当前活动中填充屏幕的顶级视图。
    • targetSdkVersion 必须是 >= 11。但这具有删除我的 ICS 平板电脑上的“菜单”软按钮的效果。啊!
    • 现在应该使用 View.SYSTEM_UI_FLAG_LOW_PROFILE,因为 View.STATUS_BAR_HIDDEN 已被弃用
    【解决方案2】:

    在早期版本的 Android 中,您可以使用清单中的以下行将应用程序设置为全屏模式:

    android:theme="@android:style/Theme.NoTitleBar.Fullscreen".
    

    我不能肯定它在 2.3 中有效,因为我还没有对 2.3 做过任何事情。

    其次,我对“熄灯模式”一词不太熟悉,但您可以使用WindowManager.LayoutParams classscreenBrightness 字段调整屏幕亮度。

    【讨论】:

      【解决方案3】:

      我可以补充两点:

      1. 我的 ListActivity 隐藏了状态栏,但是当它弹出一个进度对话框时,只要显示进度对话框,状态栏就会显示。以下将其简化为短暂的闪光,并适用于通过“showDialog”完成的所有对话框。我还不能完全摆脱它。

        protected void onPrepareDialog (int id, Dialog dialog) {
            View main_layout = dialog.findViewById(android.R.id.content).getRootView();
            main_layout.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
        }
        

        CAVEAT:“onPrepareDialog”已弃用...

      2. 如上面的sn-p所示,在xml布局文件的父布局中,无需显式定义ID就可以得到根视图的ID,从而实现了单文件编辑。

      【讨论】:

        猜你喜欢
        • 2011-08-29
        • 2021-05-16
        • 2011-12-03
        • 1970-01-01
        • 1970-01-01
        • 2015-01-07
        • 2013-10-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多