android 图片叠加效果

本文探讨了如何使用Android编程实现两张图片叠加效果,并详细解释了setLayerInset()方法的作用及应用实例,旨在解决图片间重叠问题,提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 要实现两张图片叠加效果 通过查找资料 发现可以用setLayerInset() 实现

 

package com.twy.test;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.os.Bundle;
import android.view.ViewGroup.MarginLayoutParams;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;

public class testDemo extends Activity {
	private LinearLayout lay;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		lay = (LinearLayout) findViewById(R.id.linearLayout1);

		firstLay();
	
	}

	private void firstLay() {
		Bitmap mbitmap_c = BitmapFactory.decodeResource(getResources(),
				R.drawable.cc);
		Bitmap mbitmap_b = BitmapFactory.decodeResource(getResources(),
				R.drawable.bb);
		Bitmap mbitmap_e = BitmapFactory.decodeResource(getResources(),
				R.drawable.ee);
		Bitmap mbitmap_f = BitmapFactory.decodeResource(getResources(),
				R.drawable.ff);
		
		Drawable[] array = new Drawable[4];
		array[0] = new BitmapDrawable(mbitmap_b);
		array[1] = new BitmapDrawable(mbitmap_c);
		array[2] = new BitmapDrawable(mbitmap_e);
		array[3] = new BitmapDrawable(mbitmap_f);
		
		LayerDrawable la = new LayerDrawable(array);
		la.setLayerInset(0, 0, 0, 0, 0);
		la.setLayerInset(1, 80, 0, 0, 0);
		la.setLayerInset(2, 160, 0, 0, 0);
		la.setLayerInset(3, 240, 0, 0, 0);
		
		ImageView img = new ImageView(this);
		img.setImageDrawable(la);
		
		lay.addView(img);
		
	}
}

 本来想实现图片间两两有一部分重叠 但这种实现效果是一张图片覆盖在另一张上。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值