如何创建带有圆角覆盖的圆形按钮

5
我希望创建一个看起来像这样的按钮

按钮图片

我目前尝试的是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:background="#00000000">

    <ImageButton
        android:id="@+id/btnPinterest"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="-5dp"
        android:contentDescription="@null"
        android:scaleType="fitCenter"
        android:src="@drawable/pinterest"/>

    <TextView
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_alignParentRight="true"
        android:layout_marginTop="0.5dp"
        android:background="@drawable/notification"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="center"
        android:text="@string/btnPinterest"
        android:textColor="#FFFFFF"
        android:textSize="12sp"/>

</RelativeLayout>

但我不满意,它看起来不像上面展示的Button。例如,文本太靠近了。有人能帮忙更准确地复制这个Button吗?
如果有人需要,这是叠加后的图片:

1
你能否将你目前拥有的图片编辑到问题中吗?这样会更容易理解问题。 - Xaver Kapeller
1
你可以使用一个单独的ImageButton,并覆盖它的onDraw回调函数,自己绘制角落元素。 - user
1个回答

1
使用Gimp制作四张图片并将它们保存在drawable中。你的图片必须在左上角有蓝色三角形,并且你需要在图片中输入“Pinterest”和其他设计文本。
然后创建一个新的XML文件并将以下内容放入其中:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:drawable="@drawable/button_shape_enabled"/>
<item android:drawable="@drawable/button_shape_pressed"
    android:state_pressed="true" />
<item android:drawable="@drawable/button_shape_focused"
    android:state_focused="true" />
<item android:drawable="@drawable/button_shape_default"/>
</selector>

这将为您提供一个自定义按钮,具有4种状态:1)禁用,2)按下,3)聚焦,4)启用(默认)


非常感谢,我认为我应该使用自定义视图,因为我有很多像这样的按钮。 - Javier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接