heyred heyred - 6 months ago 44
Android Question

Border color on Android button

I have a button created and have set the background color and text color as can be seen below. My question is: how do I set the buttons border color? I want to set the border color to white

Here is the button in my

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" />


And here is its associated style in
res -> values -> styles
. The first 2 "items" work fine on their own. The final "item" was my attempt at changing button border to white without success.

<!-- 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>

tsp tsp
Answer

Use the <stroke> element. Add this xml file in res/drawable folder as 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>

then call this by

<Button
   android:id="@+id/button1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_margin="10dp"
   android:background="@drawable/button_boarder"
   android:text="Button" 
/>

'''''''