我创建了一个按钮,并设置了背景颜色和文本颜色,如下所示。我的问题是:如何设置按钮边框颜色?我想将边框颜色设置为白色
以下是我res -> layout -> main_nav.xml
<Button
android:id="@+id/btn_emergency"
style="@style/buttonStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Contact and Emergency"
android:onClick="onClickHandleStates" />
这是res -> values -> styles
中的相关风格。前两个“项目”自行工作正常。最后的“项目”是我尝试将按钮边框更改为白色而没有成功。
<!-- The button styles -->
<style name="buttonStyle">
<item name="android:textColor">#ffffff</item>
<item name="android:background">#80000000</item>
<item name="android:button">
<shape
android:shape="rectangle" >
<stroke
android:width="0.5dp"
android:color="#ffffff" />
</shape>
</item>
</style>
答案 0 :(得分:33)
使用<stroke>
元素。在res / drawable文件夹中将此xml文件添加为button_border.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#FFFFFF"
android:endColor="#00FF00"
android:angle="270" />
<corners android:radius="3dp" />
<stroke android:width="5px" android:color="#ffffff" />
</shape>
然后通过
调用它<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/button_border"
android:text="Button"
/>
答案 1 :(得分:9)
试试这个
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners android:radius="1dp" />
<stroke
android:width="2px"
android:color="#ffffff" />
</shape>
答案 2 :(得分:6)
您可以使用此在线按钮生成器自定义按钮http://angrytools.com/android/button/
答案 3 :(得分:5)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:angle="270"
android:endColor="#E8f2fe"
android:startColor="#E8f2fe" />
<corners android:radius="3dp" />
<stroke
android:width="2px"
android:color="#486e9d" />
了解更多信息http://androiddhina.blogspot.in/2015/09/border-color-on-android-button.html
答案 4 :(得分:1)
尝试“材质”按钮
根据需要设置app:strokeWidth,app:strokeColor
<com.google.android.material.button.MaterialButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:strokeWidth="0.6dp"
app:cornerRadius="2dp"
android:text="Reassign"
android:textColor="@color/colorAccent"
app:strokeColor="@color/colorAccent"
/>
注意:您需要为材料小部件添加依赖项
//Material Components for Android
implementation 'com.google.android.material:material:1.0.0'
答案 5 :(得分:0)
如果您希望按钮的背景是透明的,请使用Shivang Trivedi的答案,但是像这样删除“渐变”部分:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="3dp" />
<stroke android:width="5px" android:color="#ffffff" /> </shape>