Android BitmapDrawable使用场景

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输出信息如下



最终效果如下



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值