如果NavigationView
的高度小于其父级的高度,则NavigationView
下方会出现一个阴影。如何删除阴影?
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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"
android:layout_gravity="left"
android:orientation="vertical"
android:background="@android:color/white">
<android.support.design.widget.NavigationView
android:id="@+id/map_type_menu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
app:menu="@menu/menu_map_type"/>
<!-- unwanted drop shadow here -->
<fragment
android:id="@+id/settings"
android:name="com.chalcodes.treasuremap.SettingsFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
我认为这不相关,但这里是menu_map_type
XML:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/item_street"
android:icon="@drawable/ic_menu_map_type_street"
android:title="@string/map_type_street" />
<item
android:id="@+id/item_satellite"
android:icon="@drawable/ic_menu_map_type_satellite"
android:title="@string/map_type_satellite" />
<item
android:id="@+id/item_hybrid"
android:icon="@drawable/ic_menu_map_type_satellite"
android:title="@string/map_type_hybrid" />
<item
android:id="@+id/item_terrain"
android:icon="@drawable/ic_menu_map_type_terrain"
android:title="@string/map_type_terrain" />
</group>
</menu>
答案 0 :(得分:2)
只需添加到您的NavigationView布局:
app:elevation="0dp"
答案 1 :(得分:0)
试试这个。
<android.support.design.widget.NavigationView
android:id="@+id/map_type_menu"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="left"
app:menu="@menu/menu_map_type">
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">
<include layout="@layout/nav_header" />
<fragment android:id="@+id/settings" android:name="com.chalcodes.treasuremap.SettingsFragment" android:layout_width="match_parent" android:layout_height="wrap_content"/>
</LinearLayout>
</android.support.design.widget.NavigationView>
答案 2 :(得分:0)
阴影是由NavigationView
具有非零默认高程引起的。这实际上是我想到的第一件事,但我试图改变它的方式不起作用,所以我错误地认为提升不是问题。
我最初在android:elevation="0dp"
声明中添加了NavigationView
。这产生了一个警告,因为我支持21以下的API。我错误地认为这个属性对于API 21+仍然有效,但显然它被剥离了。
解决方案是在代码中设置高程:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
navView.setElevation(0f);
}