带有TitleBar的FullScreen活动(导航栏下的区域无法使用!)

时间:2015-12-17 13:58:47

标签: android fullscreen navigationbar

我需要一个带操作栏的全屏应用。以下方法可以隐藏通知栏(包含batteri,rssi,警告,...的栏)和导航栏(包含后退,主页,正在运行的应用程序列表)。但导航栏下的区域仍然无法使用。

我测试了以下帖子中的想法

以及:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.NoSystemBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">false</item>
    <item name="android:windowDrawsSystemBarBackgrounds">false</item>
    <item name="android:windowFullscreen">true</item>
</style>

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    View decorView = getWindow().getDecorView();
    decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_FULLSCREEN
            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_main);

正如我所说,区域不受欢迎的导航栏无法使用

1 个答案:

答案 0 :(得分:1)

您可以使用$(document).on('click','button', function(event) { if ($(event.target).hasClass('expanded')) { $(event.target).removeClass('expanded'); $(event.target).text('Expanded class removed') } else { $(event.target).addClass('expanded'); $(event.target).text('Expanded class added'); } return false; }); 并在视图层次结构中放置一个工具栏(如果需要)。

工具栏是操作栏的新替代品,请查看此帖子:http://android-developers.blogspot.pt/2014/10/appcompat-v21-material-design-for-pre.html

这样,即使在工具栏下,您的布局也具有完整的高度,因为现在它只是布局中的一个视图。