如何在高密度手机上展示更大的资产

时间:2017-01-12 05:20:29

标签: android android-layout android-fragments android-linearlayout

所以如果它在DP中,它应该根据不同的屏幕尺寸进行自我缩放,但是当我为图像定义固定的width and height时情况并非如此,它在高分辨率下会略微缩小手机,在低分辨率手机上略大一些。

我不知道这是预期的行为还是我在这里遗漏了什么。

我正在Samsung s5Samsung S7 Edge

进行测试
  • 三星s5的像素密度为432 ppi
  • 三星s7优势是534 ppi

我在布局中添加了一张图片进行测试。我为它添加了4种不同尺寸的drawables。

<ImageView
    android:layout_width="180dp"
    android:layout_height="200dp"
    android:src="@drawable/testimage"
    />

enter image description here

现在,当我在s5s7 edge上打开同一个项目时,输出略有不同。如果它在高分辨率手机上显得更大是可以理解的,但在s7 edge上,图像看起来比s5小。

请指导我,这是一种正常行为,或者我在这里遗漏了一些东西。

1 个答案:

答案 0 :(得分:2)

dp中衡量某些内容意味着它将是相同的物理大小,而不是屏幕大小的相同百分比,因此完全可以预期。

您当然可以使用Percent Support Library(请参阅this Google+ post上的详细信息,将视图设置为布局宽度或高度的设定百分比,但如果使用矢量绘图,则应该只执行此操作适当缩放(否则,它会在某种程度上模糊)。通常,您希望使用设备上的额外空间来显示更多内容。

<android.support.percent.PercentRelativeLayout
     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">
  <ImageView
     app:layout_widthPercent="50%"
     app:layout_heightPercent="50%"
     android:src="@drawable/testimage" />
</android.support.percent.PercentRelativeLayout>