Изменение размера в элементе списка слоев

У меня есть это:

<?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 изображения? В настоящее время он слишком велик для формы.

Solutions Collecting From Web of "Изменение размера в элементе списка слоев"

Я бы предложил использовать A ScaleDrawable . Это существенно изменяет размер дочернего ресурса, используя

 android:scaleHeight="50%" android:scaleWidth="50%" 

Оба они выражаются в процентах от текущей привязки, которую можно извлечь.

Drawable указывает, как изображение будет рисоваться на холсте. Вы говорите, насколько это возможно, и оно масштабирует или зажимает основное изображение до размера. Вы можете установитьBounds на 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); 

Вы можете попробовать что-то вроде этого:

 <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" />