android如何隐藏系统栏?

时间:2014-04-17 16:58:48

标签: android spinner

我想知道如何在我点击旋转器时隐藏系统栏,因为我有2个微调器,当我点击它们时他们向我显示系统栏但我不想看到它所以有人可以告诉我如何我点击旋转按钮时可以隐藏它吗?

        final ActionBar action = getActionBar();

    civilite = (Spinner) findViewById(R.id.civilite);
    date_naissance = (Spinner) findViewById(R.id.date_naissance);
    nom = (EditText) findViewById(R.id.nom);
    prenom = (EditText) findViewById(R.id.prenom);
    email = (EditText) findViewById(R.id.email); 

    civilite.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            getWindow().getDecorView().setSystemUiVisibility(View.GONE);

            action.hide();
        }
    });

1 个答案:

答案 0 :(得分:0)

我想这与你如何配置ActionBar和调用顺序有关。虽然不能解决您的问题,但我在这里发布了如何在我的应用程序中显示/隐藏它:

首先,我在styles.xml中声明Activity的主题,设置为ActionBar将覆盖您的应用程序窗口。这允许您使用100%的屏幕高度,并且动作栏(如果存在)将呈现在您的内容上:

 <style name="Nebular.ActionBar" parent="@android:style/Theme.Holo">
        <item name="android:windowActionBarOverlay">true</item>
        <item name="android:windowActionModeOverlay">true</item>
 </style>

<item>添加到现有主题中,或将整个<style>添加到 styles.xml 中,然后在Manifest中声明{{1}使用它:

activity

现在你不应该有任何问题隐藏或显示操作栏:

  • <activity android:name="blahblah" . . android:theme="@style/Nebular.ActionBar" > 将隐藏操作栏(操作来自您的代码)
  • action.hide()会显示它。

我不知道是否可以隐藏&amp;在叠加模式下显示action.show() 。您尝试切换到全屏应该可以解决问题,但请注意,在全屏模式下任何触摸都会导致退出全屏模式