I defined a drawable
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#ffffffff" /> <size android:width="60dp" android:height="40dp" /> </shape>
But how to use it in the layout
definition?
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:src="@drawable/ic_title" android:layout_width="wrap_content" android:layout_height="fill_parent" /> </LinearLayout>
I still see only black background.
Edited:
It turned out I missed one :
in the drawable
xmlns
declaration. Now this example works in the Gingerbread device :)
Use app:drawableTint="@color/yourColor" in the xml instade android:drawableTint="@color/yourColor" . It has the backward compatibility.
The Shape Drawable is an XML file that defines a geometric shape, including colors and gradients. This is used to create a complex shape that can then be attached as the background of a layout or a view on screen.
In drawable I use this xml code to define the border and background:
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="4dp" android:color="#D8FDFB" /> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <corners android:radius="4dp" /> <solid android:color="#f0600000"/> </shape>
I had a similar problem and found that if you remove the size definition, it works for some reason.
Remove:
<size android:width="60dp" android:height="40dp" />
from the shape.
Let me know if this works!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With