此按钮具有外部白色rong和内部灰色背景 内部背景包含图像(刻度线)和文本(应用)。
我可以制作这样的形状(如下)。
我在drawable中使用了一个形状(button.xml):
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<size android:height="85dp"
android:width="90dp"/>
<solid android:color="@color/grey"/>
<stroke android:color="@color/white" android:width="4dp"></stroke>
</shape>
</item>
<item
android:drawable="@drawable/checkmark_filled"
android:bottom="20dp"
android:left="20dp"
android:right="20dp"
android:top="20dp"/>
</layer-list>
并使用ImageView来使用形状
<ImageView
android:id="@+id/button_apply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/button"/>
但我无法制作文字。
我错过了什么或有什么办法吗?
答案 0 :(得分:1)
我会做的是这样的事情:
1 - 将LayerList分成2个不同的drawable
circle.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
>
<size android:height="85dp" android:width="90dp" />
<solid android:color="@color/grey" />
<stroke android:color="@color/white" android:width="4dp" />
</shape>
我假设你已经有了这个位图:drawable/checkmark_filled
2 - 使用TextView而不是ImageView:
<TextView
android:id="@+id/button_apply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgound="@drawable/button"
android:drawableTop="drawable/checkmark_filled"
android:text="APPLY"
android:clickable="true"
/>
根据需要调整重力和衬垫 还可以根据需要设置其他一些属性。
请注意,您可以(并且应该)使用字符串资源,而不是硬编码文本。
简要说明:
clickable
,因此您可以像使用按钮一样使用它。