-
-
Save JonathanNye/2229968 to your computer and use it in GitHub Desktop.
<!-- This produces a 1.5dp stroke along the bottom of a View. It works by drawing the stroke color as the background of the View, then the background color on top, offset up by 1.5dp. Unfortunately, this approach | |
only works if you have solid color backgrounds. For transparency, you'll have to use a 9patch. --> | |
<?xml version="1.0" encoding="utf-8"?> | |
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | |
<item > | |
<shape android:shape="rectangle"> | |
<solid android:color="STROKE_COLOR_HERE"/> | |
</shape> | |
</item> | |
<item android:bottom="1.5dp"> | |
<shape android:shape="rectangle"> | |
<solid android:color="BACKGROUND_COLOR_HERE"/> | |
</shape> | |
</item> | |
</layer-list> |
It works for me and there's no need for a 9-patch drawable.
@rsyrysy there's not actually any stroke or line in the XML. The layer-list drawable is drawn one over another, with the last one on the top. So it's basically two rectangles, and the second one leaves some space on the bottom to show the "stroke" color of the first one.
What about the GPU Overdraw?
<item >
<shape android:shape="rectangle">
<solid android:color="@color/black"/>
</shape>
</item>
<item android:bottom="1.5dp">
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
</shape>
</item>
this is not working properly
@abhilash007 some vendors change the value of transparent. Rather use your own value
if I want to make transparent TextView with bottom stroke line then how will I make it?
awesome thanks a lot @JonathanNye
It works for me and there's no need for a 9-patch drawable.
@rsyrysy there's not actually any stroke or line in the XML. The layer-list drawable is drawn one over another, with the last one on the top. So it's basically two rectangles, and the second one leaves some space on the bottom to show the "stroke" color of the first one.
nice explanation thanks
Perfect. Thank you
cool!