Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在API级别低于23的图层列表中设置可绘制(PNG)的宽度和高度?_Android_Xml_Layer List - Fatal编程技术网

Android 如何在API级别低于23的图层列表中设置可绘制(PNG)的宽度和高度?

Android 如何在API级别低于23的图层列表中设置可绘制(PNG)的宽度和高度?,android,xml,layer-list,Android,Xml,Layer List,以下xml代码用于设置API 23+的层列表项内图像可绘制内容的宽度和高度: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item><shape android:shape="rectangle"><solid android:color="@color/w

以下xml代码用于设置API 23+的
层列表
项内图像可绘制内容的宽度和高度:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item><shape android:shape="rectangle"><solid android:color="@color/white"/></shape></item>
    <item android:drawable="@drawable/my_drawable" android:gravity="center" android:bottom="100dp"
        android:width="100dp" android:height="100dp" />
    <item android:drawable="@drawable/drawable_text" android:gravity="center" android:top="50dp"
        android:width="200dp" android:height="200dp" />
</layer-list>

但是,
内部的
android:width
android:height
仅适用于23及以上的API级别。如果没有明确的宽度和高度值,可绘制图像将溢出屏幕,如果我使用调整大小的PNG图像,质量会变差

我已经搜索了有关Stackoverflow(、和)的变通方法,但似乎没有一个解决方案有效

  • 添加
    android:top
    android:bottom
    android:left
    android:right
    不会调整/设置
    draawable
    的高度和宽度,可能是因为它们是PNG图像,而不是矢量可绘制图像
  • 可绘制的
    添加到
    形状
    (然后使用
    大小
    标记)不起作用

  • 没有办法实现你的目标。您必须调整图像的大小。或者,对于API级别>=23,您可以使用
    android:width
    android:height
    ,对于API级别<23,您可以使用带大小调整图像的
    图层列表


    此外,您不能使用
    android:top
    android:bottom
    等属性来调整任何图像的大小(不是png或矢量绘图),这些属性用于定位。

    你好,Garnik,是的,我已经这样做了:我使用android:width和android:height来调整API级别23+,低于23我使用调整大小的图像。谢谢你的确认。