android – Drawer Header Image的大小应该是多少?

public DrawerProfile(Context context) {
        super(context);
        HeaderImageView = new ImageView(context);
        HeaderImageView.setVisibility(VISIBLE);
        HeaderImageView.setScaleType(ImageView.ScaleType.CENTER);
        HeaderImageView.setimageResource(R.mipmap.drawer_background_image);
        addView(HeaderImageView);
}

我想在Drawer中添加一个图像,它应该覆盖抽屉头的整个区域.我想知道图像(分辨率)的大小应该是多少;适用于各种屏幕分辨率的手机.如何最小化照片的大小?

在此屏幕截图中,标题图像未覆盖Drawer的整个区域

解决方法

我最近制作了一个应用程序并对几乎所有材料设计方面进行了彻底的研究,所以我想在这里分享我的经验,它可能对你有帮助.

第1篇浏览this精彩文章,它将指导您设置导航抽屉,其中包含与其一起使用的每个属性和视图.

抽屉图像应该是或通常是导航抽屉宽度的16/9.
(HeaderHeight = NavDrawerWidth * 9/16)

我使用了576×324像素的图像(非常干净漂亮的图片,接近27KB)并将其放入drawable-nodpi中以避免自动缩放和内存问题.

我使用宽度为304dp的导航抽屉(大多数情况下,你会发现它,在谷歌应用程序上,但他们也在一些应用程序上使用320dp,如播放音乐,环聊等).

除平板电脑外,几乎所有设备的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>

希望这有助于某人.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...