如何在android中创建这种类型的按钮。我试过了 。我可以知道实现目标的正确方法是什么?也许这个问题太基础了,但我找不到合适的解决方案。请帮帮我。
我想创建此
<Button
android:id="@+id/Btn1"
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/green_circle"
android:textSize="20sp"
android:textColor="@android:color/white"
android:clickable="true"
/>
这是green_circle.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke android:width="1sp" android:color="#54d66a" />
</shape>
当我使用它时,Button看起来
我怎样才能得到我的欲望按钮。感谢任何帮助
答案 0 :(得分:2)
你定义了1sp(你应该使用&#34; dp&#34; btw。)圈,你就明白了。 我认为实现你想要的最简单方法是使用图层列表xml元素 - 只需将当前图形作为第一层,然后将第二层放入居中点(只有实心椭圆形,带有一些边距) 这里有文档:http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList 简单的用法(不是你的情况,但我认为它告诉你应该做什么):
<layer-list >
<item>
<shape android:shape="rectangle">
<corners android:radius="2dp"/>
<solid android:color="@color/grey"/>
</shape>
</item>
<item android:bottom="2dp">
<shape android:shape="rectangle">
<corners android:radius="2dp"/>
<solid android:color="@color/green_light"/>
</shape>
</item>
</layer-list>
键是android:bottom="2dp"
,导致前景层小于背景层。
答案 1 :(得分:1)
1.实际上打开和关闭两个不同的无线电图像,然后制作一个可绘制的xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="false" android:drawable="@drawable/check_off" />
<item android:state_checked="true" android:drawable="@drawable/checkbox_on" />
<item android:drawable="@drawable/checkbox_off" />
</selector>
2.并将此drawable设置为单选按钮上的背景。
答案 2 :(得分:1)
实现所需效果的一种方法是使用图层列表Drawable。要获得与您发布的图像类似的Drawable,请尝试以下
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<stroke android:width="1sp" android:color="#54d66a" />
</shape>
</item>
<item android:top="5dp" android:left="5dp" android:right="5dp" android:bottom="5dp">
<shape android:shape="oval">
<solid android:color="#54d66a" />
</shape>
</item>
</layer-list>
答案 3 :(得分:0)
答案 4 :(得分:0)
在可绘制文件夹中放置绿色圆圈图像。然后在xml中为你的按钮设置背景图像
<Button
android:id="@+id/Btn1"
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/yourimage"
/>
这将有效:)