如何阻止背景颜色添加到BottomNavigationView

时间:2017-02-21 12:46:45

标签: java android android-fragments bottomnavigationview

我是android studio的新手,非常感谢任何帮助。

出于某种原因,在我的FrameLayout中添加背景颜色填充了我的BottomNavigationView的背景。我不明白为什么会发生这种情况,因为我使用layout_above标签将我的FrameLayout设置在BottomNavigationView上方,并为其提供了我的BottomNavigationView的ID。

这是我的xml文件,包含FrameLayout和BottomNavigationView:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  xmlns:design="http://schemas.android.com/apk/res-auto">

 <FrameLayout
   android:id="@+id/container"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:layout_above="@id/bottom_navigation_bar"
   android:layout_alignParentTop="true"
   android:background="@color/colorPrimaryDark">
 </FrameLayout>

 <android.support.design.widget.BottomNavigationView
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:id="@+id/bottom_navigation_bar"
   android:layout_gravity="bottom"
   design:menu="@menu/navigation_menu" />

</android.support.design.widget.CoordinatorLayout> 

这是我的菜单xml文件:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/action_home"
    android:title="@string/on_home"
    android:icon="@drawable/ic_home"/>

<item
    android:id="@+id/action_saved"
    android:title="@string/on_saved"
    android:icon="@drawable/ic_file_download"/>

<item
    android:id="@+id/action_profile"
    android:title="@string/on_profile"
    android:icon="@drawable/ic_action_user"/>

1 个答案:

答案 0 :(得分:0)

更改此行

 android:layout_above="@id/bottom_navigation_bar"

android:layout_above="@+id/bottom_navigation_bar"

希望它有所帮助。如果这不起作用,请尝试使用以下代码更改您的xml

 <?xml version="1.0" encoding="utf-8"?>
    <android.support.design.widget.CoordinatorLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      xmlns:design="http://schemas.android.com/apk/res-auto">
    <RelativeLayout                                 
       android:layout_width="match_parent"
       android:layout_height="match_parent"                                                        
       >
     <FrameLayout
       android:id="@+id/container"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:layout_above="@+id/bottom_navigation_bar"
       android:layout_alignParentTop="true"
       android:background="@color/colorPrimaryDark">
     </FrameLayout>

     <android.support.design.widget.BottomNavigationView
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:id="@+id/bottom_navigation_bar"
       android:layout_gravity="bottom"
       android:layout_alignParentBottom="true"
       design:menu="@menu/navigation_menu" />
    </RelativeLayout>
    </android.support.design.widget.CoordinatorLayout> 

尝试使用此xml