我有这个:
<?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
图片的大小?目前,它的形状太大了。
答案 0 :(得分:4)
我建议使用A ScaleDrawable。它实质上改变了使用
绘制的子画面的大小android:scaleHeight="50%"
android:scaleWidth="50%"
两者都表示为drawable当前界限的百分比。
答案 1 :(得分:1)
也许是老问题,但这就是我在图层列表中调整drawable的方法
<?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
答案 2 :(得分:0)
Drawable指定如何在画布上绘制图像。你告诉drawable它应该有多大,它会将底层图像缩放或剪切到大小。您可以在drawable上setBounds或调整ImageView的大小。
以下代码段将drawable绘制为具有所需大小的位图。
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);
答案 3 :(得分:-3)
您可以尝试这样的事情:
<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" />