如何在Android 3.0(Honeycomb)中调暗系统栏?

时间:2011-05-04 12:59:08

标签: android android-3.0-honeycomb

如何以编程方式调暗Android 3.0(Honeycomb)中的系统栏?

2 个答案:

答案 0 :(得分:13)

尝试使用以下代码:

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

答案 1 :(得分:1)

您可以使用SYSTEM_UI_FLAG_LOW_PROFILE对其进行调暗,但是当用户触摸该栏时它会出现。但你可以禁用它,除了家。

在清单中添加此内容。

<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"/>

在onCreate()

this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_home);
    View v = findViewById(R.id.home_view);
    v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);

其中home_view是xml文件的父视图。

 @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
            return false;
        }

 public void onWindowFocusChanged(boolean hasFocus)
     {
             try
             {
                if(!hasFocus)
                {
                     Object service  = getSystemService("statusbar");
                     Class<?> statusbarManager = Class.forName("android.app.StatusBarManager");
                     Method collapse = statusbarManager.getMethod("collapse");
                     collapse .setAccessible(true);
                     collapse .invoke(service);
                }
             }
             catch(Exception ex)
             {
             }
     }

你无法捕捉家庭活动,你唯一能做的就是把你的应用程序归类并让用户选择。

 <category android:name="android.intent.category.HOME" />