Android 如何在API级别低于23的图层列表中设置可绘制(PNG)的宽度和高度?
以下xml代码用于设置API 23+的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 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我使用调整大小的图像。谢谢你的确认。