继上 ,完善几个Drawable示例.
- 状态背景(selector)
-
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="true" android:color="@android:color/black" /> <item android:state_focused="true" android:state_pressed="false" android:color="@android:color/black" /> <item android:state_focused="false" android:state_pressed="true" android:color="@android:color/black" /> <item android:color="@android:color/white" /> </selector>
-
- 拉伸(重复)背景(bitmap)
-
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/bg_toolbar" android:tileMode="repeat" />
- 椭圆背景(shape)
- 渐变背景
-
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:bottomRightRadius="10dip" android:bottomLeftRadius="0.1dip" android:topLeftRadius="10dip" android:topRightRadius="0.1dip" /> <gradient android:startColor="#356bc2" android:endColor="#a0c7ff" android:angle="270" /> </shape>
- NinePatchDrawable
- Step1: 制作原始图片素材
- Step2: 在原始的图片外层加一象素黑色边框
- Step3: 擦除四周角落的那一黑色象素(就是让那一象素透明)
- Step4: 用draw9patch来确定要延伸重复的部分和需要固定显示的部分
- Step5: 设定需要需要渲染的主体
- 关于setColorFilter
-
Drawable highLightImg = getResources().getDrawable(R.drawable.ic_menu_formore24x24); highLightImg.setColorFilter(0xff4fbcef, Mode.MULTIPLY);