图片浏览器imageview

xml 文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/ivbt01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="bt01" />

    <Button
        android:id="@+id/ivbt02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="bt02" />

    <Button
        android:id="@+id/ivbt03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="bt03" />
</LinearLayout>
<!-- 定义显示图片整体的imageView -->
<ImageView 
    android:id="@+id/image01"
    android:layout_width="wrap_content"
    android:layout_height="280dp"
    android:src="@drawable/e97b65c01c002e86b007d222c4a4e34"
    android:scaleType="fitCenter"/>
<!-- 定义显示图片局部细节的imageview -->
<ImageView 
    android:id="@+id/image02"
    android:layout_width="120dp"
    android:layout_height="120dp" 
    android:background="#00f"
    android:layout_margin="10dp"/>

java 文件:
int[] image = new int[] { R.drawable.mia1, R.drawable.mia3, R.drawable.mia,
R.drawable.e97b65c01c002e86b007d222c4a4e34 };
// 定义默认显示的图片
int currentimage = 2;
// 定义图片初始透明度
private int alpha = 255;

@Override
protected void onCreate(Bundle savedInstanceState) {
	// TODO Auto-generated method stub
	super.onCreate(savedInstanceState);
	setContentView(R.layout.imageview);
	final Button plus = (Button) findViewById(R.id.ivbt01);
	final Button minus = (Button) findViewById(R.id.ivbt02);
	final Button next = (Button) findViewById(R.id.ivbt03);
	final ImageView image01 = (ImageView) findViewById(R.id.image01);
	final ImageView image02 = (ImageView) findViewById(R.id.image02);
	// 定义查看下一张图片的监听器
	next.setOnClickListener(new OnClickListener() {

		@Override
		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			// 控制显示下一张图片
			image01.setImageResource(image[++currentimage % image.length]);
		}
	});
	// 定义改变图片透明度的方法
	View.OnClickListener listener = new View.OnClickListener() {

		@Override
		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			if (arg0 == plus) {
				alpha += 20;
			}
			if (arg0 == minus) {
				alpha -= 20;
			}
			if (alpha >= 255) {
				alpha = 255;
			}
			if (alpha <= 0) {
				alpha = 0;
			}
			// 改变图片透明度
			image01.setImageAlpha(alpha);
		}
	};
	// 为按钮添加监听器
	plus.setOnClickListener(listener);
	minus.setOnClickListener(listener);
	image01.setOnTouchListener(new View.OnTouchListener() {

		@Override
		public boolean onTouch(View arg0, MotionEvent arg1) {
			// TODO Auto-generated method stub
			BitmapDrawable bd = (BitmapDrawable) image01.getDrawable();
			// 获取第一个图片现在框中的位图
			Bitmap bp = bd.getBitmap();
			// bp图片的实际大小与第一个imageview的缩放比例
			double scale = 1.0 * bp.getHeight() / image01.getHeight();
			// 获取需要显示的图片开始点
			int x = (int) (arg1.getX() * scale);
			int y = (int) (arg1.getY() * scale);
			if (x + 120 > bp.getWidth()) {
				x = bp.getWidth() - 120;

			}
			if (y + 120 > bp.getHeight()) {
				y = bp.getHeight() - 120;
			}
			// 显示图片的指定区域
			image02.setImageBitmap(Bitmap.createBitmap(bp, x, y, 120, 120));
			image02.setImageAlpha(alpha);

			return false;

		}
	});
}

界面效果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
acdsee 经典版ACDSee Revive5是老牌看图软件acdsee历史上一个经典版本,运行速度仅次于3.1,而插件兼容直至10.0,是老机器的最佳选择。 软件说明: 基于acdsee 5.01中文原版制作,使用原版安装方式 去除在线冲印插件、快速上手指南(htm)、帮助文件、音频视频支持(没人会拿acdsee当播放器用吧)、柯达photocd支持、相册创建插件、压缩包创建插件、邮件插件、ftp插件、sendpix插件、roboenhancer插件、foto angelo(幻灯片创建器)、相机支持插件(都是很老的型号)、试用期组件、自述文件、购买提示(htm) 保留主要功能和图像格式支持 保留zip支持、rar支持、重复文件查找器、fotocanvas(编辑器)、realoptimizer 将标准格式支持库ide_acdstd.apl替换为8.0版、psd支持库ide_psd.apl替换为9.0版(再新的版本会出错),解决上一版无法保存png和psd的问题。其余插件替换为10.0版 集成xnview右键看图扩展3.2(可选安装) 安装时自动跳过许可协议和序列号提示 禁止定期检查更新 禁止文件列表视图显示音频视频文件 禁止首次启动时显示每日提示 首次启动时会弹窗提示选择“完全”或“简洁”界面,但由于软件本身bug,直接点这两个选项切换界面是无效的。需要点击此窗口左下角的“自定义”,在最下面的“布局”中选“简洁”,确定后即可使用acdsee 3.1的简洁界面。以下截图所示即为简洁界面

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值