Border in shape XML

AndroidAndroid LayoutBorderShapesStroke

Android Problem Overview


I am trying to make a drawable to use for a button. I would like it to have this coloring, with a 2px border around it.

Everything works just fine except I cannot get the border to show up...

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
	android:shape="rectangle" >
	 
	<gradient android:startColor="@color/bar_clicked_dark"
		android:endColor="@color/bar_clicked_light"
        android:angle="90"/>
        
    <corners android:bottomLeftRadius="0dp"
		android:topLeftRadius="15dp"
		android:bottomRightRadius="15dp"
		android:topRightRadius="0dp" />
		
	<stroke android:width="2dp" 
    	color="#ff00ffff" />
		
</shape>

Android Solutions


Solution 1 - Android

It looks like you forgot the prefix on the color attribute. Try

 <stroke android:width="2dp" android:color="#ff00ffff"/>

Solution 2 - Android

If you want make a border in a shape xml. You need to use:

For the external border,you need to use:

<stroke/>

For the internal background,you need to use:

<solid/>

If you want to set corners,you need to use:

<corners/>

If you want a padding betwen border and the internal elements,you need to use:

<padding/>

Here is a shape xml example using the above items. It works for me

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
  <stroke android:width="2dp" android:color="#D0CFCC" /> 
  <solid android:color="#F8F7F5" /> 
  <corners android:radius="10dp" />
  <padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp" />
</shape>

Solution 3 - Android

We can add drawable .xml like below

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">


    <stroke
        android:width="1dp"
        android:color="@color/color_C4CDD5"/>

    <corners android:radius="8dp"/>

    <solid
        android:color="@color/color_white"/>

</shape>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMattView Question on Stackoverflow
Solution 1 - AndroidTHE_DOMView Answer on Stackoverflow
Solution 2 - AndroidMiguel RodríguezView Answer on Stackoverflow
Solution 3 - AndroidVinod PattanshettiView Answer on Stackoverflow