在我的
XML文件中,我使用位图如下
<bitmap android:src="@drawable/Icon" android:gravity="center"/>
这里图标的图像宽度超出了屏幕.
我试过android:width =“100dp”等等.但它没有用.
完整的XML文件:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <stroke android:width="3dp" android:color="@color/black" /> <solid android:color="@color/bg_green" /> </shape> </item> <item> <bitmap android:src="@drawable/Icon" android:gravity="center"/> </item> </layer-list>
如何减小上述位图的宽度和高度?
从
Android Developers开始,我发现Bitmap XML没有标签可以让你改变它的大小.您需要通过GIMP等一些图形应用程序来完成此操作.正如@Kevin Cooper所说,理想情况下,您需要为不同的屏幕类型创建不同的资源集(具有不同的大小).
但是仍然可以使用ImageView中的width和height属性调整大小,而不是创建不同大小的位图:
<ImageView android:layout_width="50dp" android:layout_height="50dp" android:scaleType="center" android:src="@drawable/Icon" />
如果要在其他位置重用此图像,可以创建单独的样式并重复使用它:
// in styles.xml <style name="Icon24x24"> <item name="android:src">@drawable/Icon</item> <item name="android:gravity">center</item> <item name="android:layout_width">24dp</item> <item name="android:layout_height">24dp</item> </style> // in layout.xml <ImageView style="@style/Icon24x24"/>
另一种重用方法可能是为一个ImageView创建单独的布局文件,然后包含到其他布局中.
如果你想在图层列表中使用这个位图,请参阅@Kevin Cooper的答案,因为他建议可以在图层列表项中添加填充:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:left="20dp" android:right="20dp"> <bitmap android:src="@drawable/Icon" android:gravity="center" /> </item> </layer-list>
并且正如@Nicolo也指出的那样,形成API 23,可以将android:width和android:height“设置为item.