我想使用工具栏而不是具有半透明状态栏的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>