2012年11月12日 星期一

Android Resources - Color-Drawable

In Android, an image is one type of a drawable resource. Android supports another drawable resource called a color-drawable resource; it’s essentially a colored rectangle.

<resources>
<drawable name="red_rectangle">#f00</drawable>
<drawable name="blue_rectangle">#0000ff</drawable>
<drawable name="green_rectangle">#f0f0</drawable>
</resources>

// Get a drawable
ColorDrawable redDrawable = (ColorDrawable)
               activity.getResources().getDrawable(R.drawable.red_rectangle);
//Set it as a background to a text view
textView.setBackgroundDrawable(redDrawable);

<TextView android:layout_width="fill_parent"
                   android:layout_height="wrap_content"
                   android:textAlign="center"
                   android:background="@drawable/red_rectangle"/>

To achieve the rounded corners in your Drawable, you can use the currently undocumented <shape> tag. However, this tag needs to reside in a file by itself in the /res/drawable directory.

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

// Get a drawable
GradientDrawable roundedRectangle = (GradientDrawable)
                activity.getResources().getDrawable(R.drawable.my_rounded_rectangle);

//Set it as a background to a text view
textView.setBackgroundDrawable(roundedRectangle);

沒有留言:

張貼留言