如何在Android中创建这种类型的按钮
如何在android中创建此类按钮。我试过了。我可以知道实现我的目标的正确方法吗?也许这个问题太基本了,但我没有找到任何合适的解决方案。请帮我解决 我想创建这个如何在Android中创建这种类型的按钮,android,xml,button,Android,Xml,Button,如何在android中创建此类按钮。我试过了。我可以知道实现我的目标的正确方法吗?也许这个问题太基本了,但我没有找到任何合适的解决方案。请帮我解决 我想创建这个 <Button android:id="@+id/Btn1" android:layout_width="20dp" android:layout_height="20dp"
<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>
当我使用这个按钮时,按钮看起来
我怎样才能得到我的欲望按钮。任何需要的帮助请使用:
文档还说明了如何根据按钮的状态生成不同的图像。使用:
文档还说明了如何根据按钮的状态生成不同的图像。将绿色圆圈的图像放入可绘制文件夹。然后在xml中为按钮设置背景图像
<Button
android:id="@+id/Btn1"
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/yourimage"
/>
这将起作用:将绿色圆圈的图像放在可绘制文件夹中。然后在xml中为按钮设置背景图像
<Button
android:id="@+id/Btn1"
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/yourimage"
/>
这将起作用:您定义了1sp,您应该使用dp btw.circle,您得到了它。 我认为实现所需的最简单的方法是使用图层列表xml元素——只需将当前图形作为第一层,将第二层作为居中的点,即带有一些边距的实心椭圆形 这里有文档: 简单用法这不是你的情况,但我认为它向你展示了你应该做什么:
<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,这会导致前景层比背景层小。您定义了1sp,您应该使用dp btw.circle,您得到了它。 我认为实现所需的最简单的方法是使用图层列表xml元素——只需将当前图形作为第一层,将第二层作为居中的点,即带有一些边距的实心椭圆形 这里有文档: 简单用法这不是你的情况,但我认为它向你展示了你应该做什么:
<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.使用两种不同的收音机图像,根据您的需要打开和关闭,并使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.并在单选按钮上将此可绘制设置为背景。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.并在单选按钮上将此可绘制设置为背景。实现所需效果的一种方法是使用图层列表可绘制。要获得与您发布的图像相似的可绘制图像,请尝试以下操作
<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>
实现所需效果的一种方法是使用可绘制的图层列表。要获得与您发布的图像相似的可绘制图像,请尝试以下操作
<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>
如果你检查我的代码,你会发现我避开了图像。尝试使用样式创建自定义按钮。按钮背景很简单,但为什么要寻找如此复杂的方式?如果你检查我的代码,你会发现我避免使用图像。尝试使用样式创建自定义按钮。按钮背景很简单,那你为什么要寻找如此复杂的方式呢?是的。我已经这样做了。你的方法太正确了。顺便说一句,我接受你的回答。祝你快乐。我已经做到了。你的方法太正确了。顺便说一句,我接受了你的答案。祝你好运。西尔:你的方法是对的。这就是为什么我投票支持你的答案。将形状矩形添加到椭圆形,并更新顶部、右侧、按钮、左侧等的半径字段。顺便说一句,非常感谢您的关注。祝您编码愉快是的,我知道-只是我在当前打开的项目中有这个示例;先生:你的方法是正确的。这就是为什么我赞成你的答案。将形状矩形添加到椭圆形,并更新顶部、右侧、按钮、左侧等的半径字段。顺便说一句,非常感谢您的关注。祝您编码愉快是的,我知道-只是我在当前打开的项目中有这个示例;