用于工具栏的理想图像尺寸?

时间:2016-07-08 15:06:32

标签: android android-imageview

我有一个可折叠的工具栏,我想在后台设置图像,我使用Image Loader库来提高性能,即使图像看起来很慢。

这是我的xml for toolbar

<android.support.design.widget.CollapsingToolbarLayout
     android:id="@+id/ctl_scene_list"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:fitsSystemWindows="true"
     app:layout_scrollFlags="scroll|exitUntilCollapsed">

     <ImageView
          android:id="@+id/iv_production_image"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:adjustViewBounds="true"
          android:background="@drawable/ph_production_profile_pic"
          android:fitsSystemWindows="true"
          android:scaleType="centerCrop"
          android:src="@color/silver_chalice_approx"
          app:layout_collapseMode="none" />

          <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/toolbar"
              android:layout_width="match_parent"
              android:layout_height="?attr/actionBarSize"
              android:background="@color/black_40_alpha"
              app:layout_collapseMode="pin"
              app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

            <include layout="@layout/toolbar" />
          </android.support.v7.widget.Toolbar>
 </android.support.design.widget.CollapsingToolbarLayout>

我想对所有类型的分辨率使用单个图像,建议使用基于分辨率的图像并检查代码中的分辨率,以及在服务器上传时应该是理想的图像尺寸?

1 个答案:

答案 0 :(得分:2)

如果从远程服务器加载图像,并且分辨率非常高,则可能会影响某些设备的性能。

以下建议:您以高分辨率将图像上传到服务器(这将被视为xxhdpi或xxxhdpi),然后您可以拥有一个服务器脚本,可自动为剩余密度创建缩放图像(mdpi,hdpi和xhdpi)。

当您从应用程序上的服务器获取图像时,您只需要获取设备的屏幕密度,并将其作为GET / POST变量发送到服务器,以便它可以响应正确分辨率的图像。

要获得设备的屏幕密度,请使用以下代码:

getResources().getDisplayMetrics().density;

这些是android使用的缩放比例:

0.75 - ldpi

1.0 - mdpi

1.5 - hdpi

2.0 - xhdpi

3.0 - xxhdpi

4.0 - xxxhdpi

TL; DR:获取设备的屏幕密度,将其作为GET / POST变量发送到服务器,让服务器以正确的图像响应该密度。 / p>