Android:在按钮的可绘制角落添加徽章

时间:2013-10-07 20:43:06

标签: android android-drawable

将徽章图标(带有数字的圆圈)添加到按钮的可绘制内容的最佳方法是什么?

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替换为具有图像右上角形状的图像。我可以将其作为可绘制的,还是必须在按钮外执行此操作?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您想将其作为Drawable,则必须创建一个Bitmap,在此处将圆圈和数字绘制到按钮图像上。

但我会这样做:将徽章放在按钮上方ImageViewTextView,这样您就可以轻松编辑TextView

的文字