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

时间:2015-07-07 03:43:08

标签: android android-layout imagebutton

我想创建一个Button,如下所示:

Button image

这是我到目前为止所尝试的:

<?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吗?

如果有人需要,这是叠加的图片:

Notification Icon

1 个答案:

答案 0 :(得分:1)

使用Gimp生成四个图像并将其保存在drawable中。你的图片必须在左上角有蓝色三角形,你必须输入文字&#34; Pinterest&#34;和其他设计成图像。

然后创建一个新的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)启用(默认)