显示透明图片的方法汇总

显示透明图片的方法汇总

方法1:用Canvas的drawARGB方法。

@Override
	public void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		
		//创建一张图片。
		Bitmap bm = Bitmap.createBitmap(20, 20, Config.ARGB_4444);

		//给图片绘制颜色,其中第一个参数为透明度设置。
		Canvas cvs = new Canvas(bm);
		cvs.drawARGB(127,255,0,0);

		//创建ImageView对象。
		ImageView imv = new ImageView(this);
		
		//将图片加载到ImageView对象中。
		imv.setImageBitmap(bm);
		
		//在屏幕上显示该图片。
		setContentView(imv);
	}

方法2:用Canvas的drawARGB和Bitmap的eraseColor。

	public void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		
		//创建一张图片。
		Bitmap bm = Bitmap.createBitmap(20, 20, Config.ARGB_4444);

		//给图片绘制颜色,其中第一个参数为透明度设置。
		Canvas cvs = new Canvas(bm);
		cvs.drawARGB(127,255,0,0);
		
		//用Bitmap自带的方法擦除刚着上的红色后也是透明的。
		bm.eraseColor(0xff0000);
		
		//创建ImageView对象。
		ImageView imv = new ImageView(this);
		
		//将图片加载到ImageView对象中。
		imv.setImageBitmap(bm);

		//在屏幕上显示该图片。
		setContentView(imv);
	}

方法3:用ImageView的setAlpha方法。

public void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		
		//创建一张图片。
		Bitmap bm = Bitmap.createBitmap(20, 20, Config.ARGB_4444);

		//给图片绘制颜色,其中第一个参数为透明度设置。
		Canvas cvs = new Canvas(bm);
		cvs.drawARGB(255,255,0,0);
		
		//创建ImageView对象。
		ImageView imv = new ImageView(this);
		
		//将图片加载到ImageView对象中。
		imv.setImageBitmap(bm);

		//设置图片的透明度。
		imv.setAlpha(127);
		
		//在屏幕上显示该图片。
		setContentView(imv);
	}

方法4:使用Drawable的getPaint().setColor方法。

	public void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		
		//创建一张图片。
		Bitmap bm = Bitmap.createBitmap(20, 20, Config.ARGB_4444);

		//给图片着上红颜。
		Canvas cvs = new Canvas(bm);
		cvs.drawARGB(255,255,0,0);
		
		//创建ImageView。
		ImageView imv = new ImageView(this);
		
		//设置图片透明度,前两位是透明度的值。
		BitmapDrawable bd = new BitmapDrawable(bm);
		bd.getPaint().setColor(0x00ffffff);
		
		//将图片加载到ImageView对象中。
		imv.setImageBitmap(bm);
		
		//在屏幕上显示该图片。
		setContentView(imv);
	}


注:暂时就找到了这4种,如果我找到新的方法会再编辑这篇文章。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值