BottomNavigationView奇怪的内部视图

时间:2017-05-13 03:08:32

标签: android bottomnavigationview

我尝试为BottomNavigationView上方的阴影添加自定义视图,但有一个问题。

BottomNavigationView有两个间接子女 - BottomNavigationMenuViewView。后者View的宽度为1dp,显示在BottomNavigationView之上。 因此它会在BottomNavigationView和我的自定义阴影之间产生1dp的差距。

这是View是什么,我该如何避免呢?

这是布局:

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

    <TextView
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/bottom_navigation" />

    <View
        android:id="@+id/bottom_shadow"
        android:layout_width="match_parent"
        android:layout_height="6dp"
        android:layout_above="@+id/bottom_navigation"
        android:background="@drawable/shadow" />

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        app:menu="@menu/navigation" />

</RelativeLayout>

P.S。我发现,奇怪的View实际上是里面 BottomNavigationView并没有差距。所以它没有&#39;出问题。这是布局检查器的屏幕截图。 enter image description here 但仍然很有趣,这个观点是什么?

1 个答案:

答案 0 :(得分:0)

对于1dp的差距,或许快速修复将android:layout_marginBottom="-1dp"设置为基本上&#34;强制&#34;视图因这种差异而向下移动。你有间接孩子的代码吗? BottomNavigationView的源代码似乎没有使用备用&#34; View&#34;。

https://android.googlesource.com/platform/frameworks/support/+/master/design/src/android/support/design/widget/BottomNavigationView.java