在非动作栏活动中使用半透明状态栏时,底部会出现一个空白栏?

时间:2015-05-31 12:40:34

标签: android android-layout android-fragments android-activity

我想使用工具栏而不是具有半透明状态栏的Actionbar,但只有在我使用NoAcitionbar主题时,屏幕底部才会出现一个细条(与宽度状态栏相同)。 并且栏的颜色与我设置的'windowBackgroud'相同。所以我想有一些余地。

我试图重置所有边距,但它没有用。 当我使用Android Studio中的“Android设备监视器”检查UI的层次结构时,该栏会消失,但在重新启动应用程序时会重新消失。

我正在使用AppCompat v22支持lib,我的Activity是AppCompat Activity。

我在MainAcitivity中覆盖了这个函数:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if(hasFocus){
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
            // translucent status bar
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            // translucent navigation bar
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
        }
    }
}

在MainAcitvity中只有一个片段:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main_fragment"
android:name="org.bitoo.abit.ui.MainActivityFragment"
tools:layout="@layout/fragment_mission_list" android:layout_width="match_parent"
android:layout_height="match_parent" />

并且片段的布局在这里:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:tools="http://schemas.android.com/tools"
         xmlns:materialdesign="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
            android:background="@color/light_primary_color"
         tools:context="org.bitoo.abit.ui.DetailedMissionActivityFragment">

<android.support.v7.widget.RecyclerView
    android:id="@+id/rv_mission_list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="vertical"/>


<com.gc.materialdesign.views.ButtonFloat
    android:id="@+id/bt_add"
    android:layout_width="60dp"
    android:layout_height="60dp"
    android:layout_margin="15dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentBottom="true"
    android:background="@color/accent_color"
    materialdesign:animate="false"
    materialdesign:iconDrawable="@drawable/ic_action_new" />
 </RelativeLayout>

主题风格:

  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="actionBarStyle">@style/my_actionbar_style</item>
    <item name="colorPrimary">@color/primary_color</item>
    <item name="colorPrimaryDark">@color/dark_primary_color</item>
  </style>

<style name="my_actionbar_style" parent="Widget.AppCompat.ActionBar">
    <item name="background">@color/dark_primary_color</item>
    <item name="backgroundStacked">@color/dark_primary_color</item>
    <item name="backgroundSplit">@color/dark_primary_color</item>
    <item name="titleTextStyle">@style/my_actionbar_text_style</item>
</style>
<style name="my_actionbar_text_style" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/title_text_color</item>
</style>

0 个答案:

没有答案