如何缩放按钮的背景?
Posted
技术标签:
【中文标题】如何缩放按钮的背景?【英文标题】:How can I scale the background of a button? 【发布时间】:2012-01-03 16:01:21 【问题描述】:我有以下按钮:
<Button
android:id="@+id/buttonok"
android:layout_
android:layout_
android:drawableLeft="@drawable/back_no_save"
android:text="OK" />
它的出现是:
如何缩小我的可绘制对象并显示一个小箭头?
【问题讨论】:
【参考方案1】:您可以使用ImageButton
并尝试android:scaleType
ImageView.ScaleType
【讨论】:
我需要“OK”文本,所以我不能使用 ImageButton。【参考方案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】:您可以缩小可绘制对象指向的实际图形。
【讨论】:
使用 ScaleDrawable 怎么样?【参考方案4】:如果您不想处理Bitmap.createScaledBitmap
,那么在我看来,最好的方法是创建自己的组件。
例如,您可以扩展RelativeLayout
并将ImageView
放入其中。
【讨论】:
【参考方案5】:我知道这是一篇旧帖子,但我做了这样的事情:
<LinearLayout
android:layout_
android:layout_
android:padding="16dp"
android:id="@+id/XXXXXXXXXXXX"
android:orientation="horizontal">
<ImageView
android:src="@drawable/XXXXXXXXXXXX"
android:layout_
android:layout_
android:scaleType="centerInside"
android:id="@+id/XXXXXXXXXXXXXXXX"/>
<TextView
android:id="@+id/XXXXXXXXXXXXXX"
android:layout_
android:layout_
android:text="XXXXXXX"
android:layout_gravity="center"/>
</LinearLayout>
【讨论】:
以上是关于如何缩放按钮的背景?的主要内容,如果未能解决你的问题,请参考以下文章