我最近做了一个应用程序,并且对几乎所有材料设计方面都进行了深入研究,所以我想在这里分享我的经验,它可能会对你有所帮助。
第一次浏览this的精彩文章,它将指导您设置导航抽屉,并使用它使用的每个属性和视图。
抽屉图像应该或通常是导航抽屉宽度的 16/9。
(HeaderHeight = NavDrawerWidth * 9/16)
我使用了一张 576x324 像素的图片(非常干净漂亮的图片,将近 27KB)并将其放入 drawable-nodpi 中以避免自动缩放和内存问题。
我使用宽度为 304dp 的导航抽屉(大多数情况下,您会在 google 应用上找到它,但他们也在某些应用上使用 320dp,例如 Play Music、Hangouts 等)。
几乎所有设备(平板电脑除外)的 HeaderImage 高度可能保持不变。
对于直到sw-480dp-xxxhdpi 的设备,使用抽屉宽度 304dp 和标题高度 170dp。
从上面的设备sw-600dp,至少使用抽屉宽度400dp和标题图像高度225dp。
这是我的 drawer_header.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/navDrawer_header_height"
android:background="@drawable/img_navdrawer_header"
android:gravity="bottom"
android:orientation="vertical"
android:padding="16dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark" >
</LinearLayout>
这就是我在NavigationView中使用它的方式
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="@dimen/nav_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/drawer" />
现在是时候设定他们的界限了,/res/values/dimens/
<dimen name="nav_drawer_width">304dp</dimen>
<dimen name="navDrawer_header_height">170dp</dimen>
对于平板电脑:/res/values-sw600dp/、/res/values/sw-720dp
<dimen name="nav_drawer_width">400dp</dimen>
<dimen name="navDrawer_header_height">225dp</dimen>
希望这对某人有所帮助。