BitmapActivity
BitmapDrawable 是对bitmap的一种包装,可以设置它包装bitmap在BitmapDrawable区域内的绘制方式
如平铺填充 、拉伸填充或者保存图片的原始尺寸
package com.android.xiong.gridlayoutTest;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class BitmapActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bitmap);
Log.i("BitmapActivity", findViewById(R.id.bitmap).getBackground().toString());
}
}
Drawable 下bitmap.xml
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_launcher"
android:tileMode="mirror"
android:antialias="true"
android:dither="true">
</bitmap>
Antialias属性表示是否开启抗锯齿功能一般为true,dither属性表示是否开启抖动,一般为true,filter属性表示是否开启过滤效果,tileMode属性表示平铺模式 ShapeDrawable 定义 <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
>
Shape属性有rectangle(矩形),oval(椭圆),line(横线),ring(圆环)
使用line或ring属性定义shapeDrawable时必须指定stroke标签线的宽度颜色。
Solid属性表示纯色填充。
Gradient属性表示渐变色填充,其具体属性有: Angle渐变角度默认为0,必须为45的倍数,0表示从左到右,90表示从上到下。 centerX渐变中心的横坐标 centerY渐变中心的纵坐标 startColor渐变的起始颜色 centerColor渐变的中间颜色 endColor渐变的结束颜色 gradientRadius渐变半径 仅当type=radial时有效 type渐变类别其值有 linear(线性渐变),radial(径向渐变),sweep(扫描渐变)。
Stroke属性表示描边 <stroke
android:width="2dp"
android:dashWidth="2dp" // 表示虚线的宽度
android:dashGap="4dp" //表示虚线之间的间隔
android:color="#00bcd4"/> size属性表示shapeDrawable的固有大小(非最终显示大小),一般shapedrawable通过getIntrinsicHeight跟getIntrinsicWidth时会返回-1,当设置size属性时会返回其设置的值。 LayerDrawable Layerdrawable 对应xml标签的layer-list,表示层次化的drawable集合。
通过将不同的Drawable放置在不同层上面从而达到一种叠加后的效果。
Log输出信息如下
最终效果如下