图像似乎无法按屏幕尺寸放大

时间:2017-02-04 12:30:29

标签: android user-interface layout

我创建了一个居中的布局。但它不会将图像缩放到设备的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的文件夹结构。

Folder structure with all dpi.

在具有高dpi的设备上。

On device with high dpi.

工作室的设计模式。

Design mode in studio.

1 个答案:

答案 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