1

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

可绘制对象只是一个图像。我希望有一种方法可以更改我用作可绘制按钮的内容,并可能将其设置为另一个可绘制对象,其中我的图像在中间,右上角有一个形状。我需要以编程方式更新形状的文本。

这是我的按钮:

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

谢谢!

4

1 回答 1

3

如果你想要它,Drawable你必须创建一个Bitmap你在按钮图像上绘制圆圈和数字的位置。

但我会这样做:将徽章作为 anImageView和 aTextView放在您的按钮上方,这样您就可以轻松地编辑TextView

于 2013-10-07T20:53:26.820 回答