将徽章图标(带有数字的圆圈)添加到按钮的可绘制内容的最佳方法是什么?
drawable只是一张图片。我希望有一种方法可以改变我正在使用的按钮可绘制的方式,也许可以将它设置为另一个可绘制的,其中图像在中间,右上角有一个形状。我需要以编程方式更新形状的文本。
现在是我的按钮:
<Button
android:id="@+id/SpecialsMenuButton"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textColor="#FFFFFF"
android:text="@string/specials_tab_title"
android:background="@drawable/menu_button"
android:padding="4dp"
android:drawableBottom="@drawable/collections_labels"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_weight="1" />
我还创建了一个圆形徽章:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#F00" />
<stroke
android:width="2dip"
android:color="#FFF" />
<padding
android:left="5dip"
android:right="5dip"
android:top="5dip"
android:bottom="5dip" />
</shape>
我希望尽可能轻松地将android:drawableBottom
替换为具有图像右上角形状的图像。我可以将其作为可绘制的,还是必须在按钮外执行此操作?
谢谢!
答案 0 :(得分:2)
如果您想将其作为Drawable
,则必须创建一个Bitmap
,在此处将圆圈和数字绘制到按钮图像上。
但我会这样做:将徽章放在按钮上方ImageView
和TextView
,这样您就可以轻松编辑TextView