Как я могу масштабировать фон кнопки?

У меня есть следующая кнопка:

<Button
android:id="@+id/buttonok"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/back_no_save"
android:text="OK" />

Его появление:

enter image description here

Как я могу масштабировать мой чертеж и показывать небольшую стрелку?

Ответ 1

Вы можете использовать ImageButton и попробовать android:scaleType

ImageView.ScaleType

Ответ 2

Я не хожу из xml. Нет атрибута xml, который может делать масштабирование для кнопок. Вы можете сделать это программно, но следующим образом:

Bitmap originalBitmap= BitmapFactory.decodeResource(getResources(), R.drawable.icon);
Bitmap scaledBitmap=Bitmap.createScaledBitmap(originalBitmap, newWidth, newHeight, true);
txt.setBackgroundDrawable(new BitmapDrawable(bit));

Ответ 3

Вы можете масштабировать фактический график, на который набираются точки.

Ответ 4

Если вы не хотите иметь дело с Bitmap.createScaledBitmap, то мне кажется, что лучший способ сделать это - создать свой собственный компонент. Вы можете расширить RelativeLayout и поместить в него ImageView, например.

Ответ 5

Я знаю, что это старый пост, но я сделал что-то вроде этого:

<LinearLayout
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:padding="16dp"
    android:id="@+id/XXXXXXXXXXXX"
    android:orientation="horizontal">
    <ImageView
        android:src="@drawable/XXXXXXXXXXXX"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:scaleType="centerInside"
        android:id="@+id/XXXXXXXXXXXXXXXX"/>
    <TextView
        android:id="@+id/XXXXXXXXXXXXXX"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="XXXXXXX"
        android:layout_gravity="center"/>
</LinearLayout>