如何缩放按钮的背景?

时间:2011-11-22 08:32:52

标签: android button background scale

我有以下按钮:

<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

如何缩小我的drawable并显示一个小箭头?

5 个答案:

答案 0 :(得分:9)

您可以使用ImageButton并尝试android:scaleType

ImageView.ScaleType

答案 1 :(得分:4)

我认为你不能从xml。没有可以对按钮进行缩放的xml属性。您可以通过以下方式以编程方式执行此操作:

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

答案 2 :(得分:1)

您可以缩小drawable指向的实际图形。

答案 3 :(得分:1)

如果您不想处理Bitmap.createScaledBitmap,那么在我看来,最好的方法是创建自己的组件。 例如,您可以扩展RelativeLayout并将ImageView放入其中。

答案 4 :(得分:0)

我知道这是一个老帖子,但我做了类似的事情:

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