位图
bitmap
//1.在drawable文件中创建一个xml文件
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:tileMode="mirror"
android:src="@drawable/p9"/>
clip裁剪图片
<?xml version="1.0" encoding="utf-8"?>
<clip xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/p17"
android:clipOrientation="vertical"
android:gravity="top"
>
</clip>
selector
点击状态
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/p19" android:state_checked="true"/>
<item android:drawable="@drawable/p18"/>
</selector>
点击效果
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/p6"
android:state_pressed="true"
/>
<item android:drawable="@drawable/p5"
/>
</selector>
进阶使用
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true">
<shape android:useLevel="false">
<solid android:color="#8DEEEE"/>
<corners android:radius="5dp"/>
</shape>
</item>
<item >
<shape >
<solid android:color="#6CA6CD"/>
<corners android:radius="5dp"/>
</shape>
</item>
</selector>
translation
<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@android:color/transparent"
/>
<item
android:drawable="@drawable/p20"/>
</transition>
ImageView iv = (ImageView) findViewById(R.id.iv);
// 获取src并强转
TransitionDrawable td=(TransitionDrawable) iv.getDrawable();
// 进行切换操作 durationmillsi 图片切换的时间
td.startTransition(2000);
level-list
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/pp1" android:maxLevel="0"/>
<item android:drawable="@drawable/pp2" android:maxLevel="1"/>
<item android:drawable="@drawable/pp3" android:maxLevel="2"/>
<item android:drawable="@drawable/pp4" android:maxLevel="3"/>
<item android:drawable="@drawable/pp5" android:maxLevel="4"/>
</level-list>
点击事件
LevelListDrawable drawable = (LevelListDrawable) mIv.getDrawable();
if(drawable.getLevel()>4){
drawable.setLevel(0);
}else {
drawable.setLevel(drawable.getLevel()+1);
inset
<?xml version="1.0" encoding="utf-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/p15"
android:insetTop="20dp" >
</inset>
ninePatch:
自定义图片被拉伸的像素点
当图片被拉伸时,只有设置的像素点会被拉伸
常用于聊天APP的气泡效果
shape
shape分割线
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
>
<size
android:height="0.5dp"/>
<solid
android:color="#999"/>
<padding android:right="20dp"
android:left="20dp"/>
</shape>
view分割线
<View
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="0.5dp"
android:layout_margin="10dp"
android:background="#888"/>
创建圆环图片
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadius="30dp"
android:thickness="20dp"
android:useLevel="false">
<gradient
android:startColor="#F00"
android:centerColor="#0F0"
android:endColor="#00f"
android:angle="0"
android:type="sweep"
/>
<stroke
android:width="1dp"
android:color="@android:color/transparent"/>
<size
android:width="122dp"
android:height="122dp"/>
</shape>
自定义EditText的圆角矩形背景
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="5dp"/>
<solid
android:color="#444"/>
<stroke
android:width="1dp"
android:color="@android:color/black"/>
<padding
android:top="5dp"
android:bottom="5dp"
android:left="5dp"/>
</shape>
自定义进度条样式
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:max="100"
android:progress="40"
android:layout_margin="10dp"
android:progressDrawable="@drawable/my_layerlist_progress"
/>
my_layerlist_progress:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/progress_bar_bg"
android:id="@android:id/background"/>
<item android:drawable="@drawable/progress_bar_selected_bg"
android:id="@android:id/progress"/>
</layer-list>