Android 如何在按钮和单击效果上添加边框?
我有一个按钮XML,它有透明的背景,当点击时,颜色会改变,所以它会显示“点击效果” 可绘制XML:Android 如何在按钮和单击效果上添加边框?,android,android-layout,android-drawable,Android,Android Layout,Android Drawable,我有一个按钮XML,它有透明的背景,当点击时,颜色会改变,所以它会显示“点击效果” 可绘制XML: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- press--> <item android:drawable="@android:color/transpar
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- press-->
<item android:drawable="@android:color/transparent" android:state_pressed="false" />
<!-- focused-->
<item style="@style/AppTheme" android:drawable="@color/color_primary" android:state_pressed="true" />
<!-- normal-->
<item android:drawable="@android:color/transparent" />
</selector>
我的问题是,如何在这个按钮上设置边框?或者一个XML示例,这样您就得到了相同的结果。谢谢大家! 创建一个类似于此的可绘制的selected.xml文件
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#ff0000"/>
<stroke
android:width="1dp"
android:color="#00ff00" />
</shape>
那就换这一行
<item
style="@style/AppTheme"
android:drawable="@color/color_primary"
android:state_pressed="true" />
到
<item
style="@style/AppTheme"
android:drawable="@drawable/selected"
android:state_pressed="true" />
实体是背景色,边框是笔划,您可以创建在选择器的不同状态下使用的可绘制图形,您可以执行以下操作: 1.首先创建如下所示的可绘制文件:
<shape android:shape="rectangle">
<!--apply button background transparent, full opacity-->
<solid android:color="#00ffffff"/>
<!--make button border solid color, nontransparent-->
<stroke android:color="#stroke color" android:width="2dp"/>
<corners android:radius="2dp"/>
</shape>
然后在提供的代码中替换以下行:
<!-- press-->
<item android:drawable="path to above drawable" android:state_pressed="false" />
<!-- focused-->
<item style="@style/AppTheme" android:drawable="@color/color_primary" android:state_pressed="true" />
<!-- normal-->
<item android:drawable="path to above drawable" />
作为
这不起作用,因为我有几个按钮状态。
<!-- press-->
<item android:drawable="path to above drawable" android:state_pressed="false" />
<!-- focused-->
<item style="@style/AppTheme" android:drawable="@color/color_primary" android:state_pressed="true" />
<!-- normal-->
<item android:drawable="path to above drawable" />