所以如果它在DP
中,它应该根据不同的屏幕尺寸进行自我缩放,但是当我为图像定义固定的width and height
时情况并非如此,它在高分辨率下会略微缩小手机,在低分辨率手机上略大一些。
我不知道这是预期的行为还是我在这里遗漏了什么。
我正在Samsung s5
和Samsung S7 Edge
我在布局中添加了一张图片进行测试。我为它添加了4种不同尺寸的drawables。
<ImageView
android:layout_width="180dp"
android:layout_height="200dp"
android:src="@drawable/testimage"
/>
现在,当我在s5
和s7 edge
上打开同一个项目时,输出略有不同。如果它在高分辨率手机上显得更大是可以理解的,但在s7 edge
上,图像看起来比s5
小。
请指导我,这是一种正常行为,或者我在这里遗漏了一些东西。
答案 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>