我创建了一个居中的布局。但它不会将图像缩放到设备的dpi。如何让它们像设备屏幕一样大?还有如何在编辑器中扩展它们?因为我不能。它们总是这么大。
以下是ImageButton代码的示例:
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/broadcasts"
android:background="?android:selectableItemBackground"
android:onClick="onWipButton_Click"
android:layout_marginRight="30dp"
android:layout_marginEnd="30dp"
android:id="@+id/imageButton2"
android:adjustViewBounds="true"
android:cropToPadding="false"
android:scaleType="fitXY"
android:layout_above="@+id/textView5"
android:layout_toLeftOf="@+id/textView5"
android:layout_toStartOf="@+id/textView5" />
所有dpi的文件夹结构。
在具有高dpi的设备上。
工作室的设计模式。
答案 0 :(得分:0)
我假设您在这些资源文件夹中确实拥有不同大小的资源,缩放级别为1x,1.5x,2x,3x,4x,m,h,xh,xxh,xxxh。
然后了解设备在物理上或dp
s方面都不是固定宽度。因此,虽然它可能正确地为屏幕的分辨率选择正确的资源,但这并不意味着它将占用每个设备上相同的可用宽度百分比。如果用尺子测量,它应该与物理尺寸大致相同(大致相同)。
在设计器中,选择具有相同宽度和DPI的屏幕。你应该在设计时看到这个问题。
如果您想要更大的图像,提供更大的资源将是最简单的解决方案,并且不会制作模糊的缩放图像。
然后,如果您希望较大的图像仅用于较大的屏幕,则可以在大屏幕的可绘制文件夹中提供较大的资源:
res/drawable-mdpi/
res/drawable-sw600dp-mdpi/
res/drawable-hdpi/
res/drawable-sw600dp-hdpi/
etc.
sw600dp
是“最小宽度”限定符,这意味着当设备具有至少600dp可用宽度时,它适用。这是区分设备的常用数字,它曾经被称为large
屏幕。如果您想支持10英寸平板电脑的不同资产,您也可以使用sw720
。
有关屏幕尺寸资源文件夹限定符的详细信息,请参阅此处:https://developer.android.com/guide/practices/screens_support.html#NewQualifiers