Android 调整图层列表项中可绘制的大小
我有这个:Android 调整图层列表项中可绘制的大小,android,android-layout,android-xml,Android,Android Layout,Android Xml,我有这个: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#000000"/>
<size android:width="70dp" android:height="70dp"/>
</shape>
</item>
<item android:drawable="@drawable/ic_person_white_48dp"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:layout_width="10dp"
android:layout_height="10dp"
/>
</layer-list>
如何调整
可绘制图像的大小?当前,它对于形状来说太大。Drawable指定如何在画布上绘制图像。您可以告诉绘图板它应该有多大,然后它会将基础图像缩放或剪辑到相应的大小。您可以在可绘制视图上显示或调整ImageView的大小
下面的代码片段将可绘制对象绘制为具有所需大小的位图
Drawable yourDrawable = getResources().getDrawable(R.drawable.yourDrawable);
yourDrawable.setBonnds(0, 0, width, height);
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
yourDrawable.draw(canvas);
我建议使用一种新的方法。它本质上使用
android:scaleHeight="50%"
android:scaleWidth="50%"
两者都表示为可提取的当前边界的百分比 您可以尝试以下方法:
<item
android:width="10dp"
android:height="10dp"
android:drawable="@drawable/ic_person_white_48dp"
android:bottom="30dp"
android:top="30dp"
android:left="30dp"
android:right="30dp"
android:gravity="center" />
也许这是一个又老又复杂的问题,但这就是我如何在图层列表中调整可绘制图形的大小
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<layer-list>
<item>
<shape android:shape="oval">
<solid android:color="#000000"/>
<size android:width="10dp" android:height="10dp"/>
<padding android:bottom="30dp" android:top="30dp"
android:left="30dp" android:right="30dp"/>
</shape>
</item>
<item>
<bitmap android:src="@drawable/ic_person_white_48dp"/>
</item>
</layer-list>
</item>
</selector>
不需要android:height或android:width什么对您有效,我仍然有一个问题android:width
和android:height
仅适用于API 23及以上版本。如何计算不同设备的android:top
和android:bottom
?