Android 按钮边框颜色
Posted
技术标签:
【中文标题】Android 按钮边框颜色【英文标题】:Android Button Border Color 【发布时间】:2016-02-24 03:59:12 【问题描述】:我正在使用以下 XML 制作 android Button。
设计预览的输出,如下图所示。
但是,当我在设备上运行时,三星 Duos。它显示完全不同。
如何设置边框。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<stroke
android:
android:color="#d78d79" />
</shape>
我在 XML 中也遇到错误,但它工作正常。当我将鼠标悬停在错误上时没有显示任何内容。
有人可以帮忙吗?
【问题讨论】:
显示@drawable/button_border
内容
【参考方案1】:
在shape
元素中添加<solid android:color="@android:color/transparent" />
作为子元素
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="@android:color/transparent" />
<stroke
android:
android:color="#d78d79" />
</shape>
【讨论】:
为什么设计和设备不同? 这是Samsung
...自定义android主题...我不知道。请检查将其设置为透明是否有帮助
你能改变 XML 吗?好像我两次使用@android:color,所以收到错误。
查看我的答案编辑,但如果此代码不能解决您的问题,您应该将solid android:color 属性设置为与您的布局背景相同的值。【参考方案2】:
我通常会这样做!
您可以在一个 XML 中完成所有这些操作,但我将展示很长的路要走,以便您更好地理解。
simple_button.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/button_pressed"/>
<item
android:state_enabled="false"
android:drawable="@drawable/button_disabled"/>
<item
android:state_enabled="true"
android:drawable="@drawable/button_enabled"/>
</selector>
button_pressed.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="2dp" />
<solid android:color="#20FF5252" />
<padding
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp" />
<size
android:
android: />
<stroke
android:
android:color="#1DE9B6" />
</shape>
button_disabled.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
android:radius="14dp"
/>
<solid
android:color="@android:color/transparent"
/>
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp"
/>
<stroke
android:
android:color="#1DE9B6"
/>
</shape>
button_enabled.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
android:radius="2dp"
/>
<solid
android:color="@android:color/transparent"
/>
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp"
/>
<size
android:
android:
/>
<stroke
android:
android:color="#1DE9B6"
/>
</shape>
styles.xml
<style name="Widget.Button.Simple" parent="android:Widget">
<item name="android:gravity">center_vertical|center_horizontal</item>
<item name="android:background">@drawable/simple_button</item>
<item name="android:textAppearance">?android:textAppearanceMedium</item>
<item name="android:textColor">#1DE9B6</item>
<item name="android:textStyle">bold</item>
</style>
用法
<Button
android:id="@+id/btn_simple"
style="@style/Widget.Button.Simple"
android:layout_
android:layout_
android:layout_margin="20dp"
android:text="Button" />
希望对你有帮助!
【讨论】:
以上是关于Android 按钮边框颜色的主要内容,如果未能解决你的问题,请参考以下文章
Android 通过solid来定义不同边框的颜色,可以只定义一个边框的颜色
118通过solid来定义不同边框的颜色,可以只定义一个边框的颜色
Android 使用shape定义不同控件的的颜色背景色边框色