这是来自疯狂android讲义上的例子,其实没啥意思。就是用监听器获取到手指的坐标,然后根据这个坐标开始绘制一个图片。(这里的绘制方式有些问题,所以凑合看看吧。)

首先,还是布局文件(两个ImageView)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/textView01_id"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="Large Text"/><ImageViewandroid:id="@+id/imageView01_id"android:layout_width="match_parent"android:layout_height="300dp"android:src="@drawable/kale" android:scaleType="fitXY"/><ImageViewandroid:id="@+id/imageView02_id"android:layout_width="match_parent"android:layout_height="match_parent"android:src="@drawable/kale" android:scaleType="fitXY"/></LinearLayout>

MainActivity.java

package com.kale.imageview02;import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
import android.widget.TextView;public class MainActivity extends Activity {ImageView iV01,iV02;TextView tV;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);viewInit();}public void viewInit() {iV01 = (ImageView)findViewById(R.id.imageView01_id);iV02 = (ImageView)findViewById(R.id.imageView02_id);tV = (TextView)findViewById(R.id.textView01_id);iV01.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View arg0, MotionEvent event) {if(event.getAction() == MotionEvent.ACTION_MOVE) {tV.setText("x坐標 = "+event.getX()+"    y坐標 = "+event.getY());}if(event.getAction() == MotionEvent.ACTION_DOWN) {//得到圖片01的bitmapDrawable對象BitmapDrawable bitmapDrawable = (BitmapDrawable)iV01.getDrawable();//獲取到位圖Bitmap bitmap = bitmapDrawable.getBitmap();//定義縮放比例double scale = bitmap.getWidth()/320.0;//定義繪製的開始坐標int x = (int)(event.getX() * scale);int y = (int)(event.getY() * scale);if(x + 120 > bitmap.getWidth()) {x = bitmap.getWidth() - 120;}if(y + 120 >bitmap.getHeight()){y = bitmap.getHeight() - 120;}//顯示圖片的指定區域iV02.setImageBitmap(Bitmap.createBitmap(bitmap,x,y,120,120));}//如果設置為false,那麼移動坐標就不會顯示return true;}});}
}

ImageView和onTouchListener实现,点击查看图片细节相关推荐

  1. iOS开发点击查看图片详情并可缩放拖拽图片长按图片下载

    由图片缩略图进入查看图片原图页面,并可对图片进行缩放(最小不小于原图,最大不大于三倍原图),长按可保存到本地相册或者查看原图. 1)缩略图页面: 2)点击查看原图页面 代码部分: 1.初始化图片背景跟 ...

  2. 点击查看图片---弹窗直接显示图片并带关闭按钮

    做项目,有时候查看图片要直接跳转到一个新的页面,在显示图片.这样用户体验效果不好. 采用该方法,直接在当前页面分层弹窗并显示图片,体验效果大大提升! 采用Magnific Popup – 响应式 jQ ...

  3. iOS 开发商品详情页中的banner中点击查看图片

    本文出自code4app,原文地址:http://www.code4app.com/blog-... 轮翻播放与查看是分开的,轮翻是是用 开源的SDCycleScrollView 这里是给出的是查看的 ...

  4. 前端——js 天猫商品图放大镜效果、鼠标移动显示放大效果、(查看图片细节)

    1.页面布局 定位一个正常的图片,上面放一个可被鼠标移动的半透明的色块, 在图片右侧隐藏一个更大的图片, 当半透明色块移动时显示右侧大图的对应部分 注:如果想在网页中查看源代码提取文件,提取不到大图, ...

  5. Android的实现既能相册选择,拍照选择,点击每张图片又能放大查看!

    最近很长一段时间没有更新博客了实在是比较忙最近需要使用一个功能:选择本机相册或者拍照返回图片显示到九宫格中,并且可以点击九宫格每一张放大查看,滑动等功能! 在网上也看到一些大神写的演示和第三方库,不过 ...

  6. JavaFx+JFoenix 点击翻页按钮查看图片

    JavaFx+JFoenix 点击翻页按钮查看图片 1. 前言 实现一个小Demo,通过点击翻页按钮,实现循环查看每一张图片.当查看到最后一张图片后,再次点击按钮查看第一张图片,开始下一轮循环. 1. ...

  7. android html图片点击事件,Android TextView加载HTMl图文之添加点击事件和查看图片

    前言 用TextView显示Html图文,每一个需求都是需要探索的,不再是简单的添加点击事件就可以了. 1.如何添加点击事件 这里要使用上在Html.forHtml()方法中的第四个参数:Html.T ...

  8. jquery实现点击小图片查看大图片

    jquery实现点击小图片查看大图片 PS:绝大部分参考网上的代码,自己进行了部分改善,没使用 $("< img/ >").attr().load(function{} ...

  9. 安卓直接展示html,Android textView展示html图片,实现图文混排,点击查看大图片

    Android textView展示html图片,实现图文混排,点击查看大图片 最近要展示html在textView上,实现图文混排,并且图片可以点击放大,所以去研究了一下,效果图如下: 我们知道te ...

最新文章

  1. 自定义Android标题栏TitleBar布局
  2. C++学习笔记之——引用 内联函数
  3. java io 文件路径格式_java中iofile的路径问题,确定一个未知方法所需要的文件路径...
  4. 素数-欧拉筛-Python实现
  5. 亲和性分析_0(python数据挖掘入门与实践-实验1)
  6. mysql 安装 utf8mb4_mysql 安装和修改编码(utf8mb4)
  7. XML Schema 配置文件自动生成c#类设计案例子
  8. 【整理】不安装VS的Web服务器部署
  9. 南方cass快捷键命令修改在哪_南方cass快捷键大全_南方cass快捷键命令大全_好特教程...
  10. DSD, DFF, DSF, DST概念解析
  11. 街机中国 FBA4droid 应用
  12. 百度地图瓦片下载工具(仅供学习)
  13. BMVC 2020 Keynote 消除数据集偏见
  14. python批量替换word内容_python win32com 库批量替换word文件内容
  15. 二年级课程表(4月18日-4月22日)
  16. python找不到指定模块sklearn怎么办_python中sklearn找不到指定模块怎么办
  17. 冷门高性价比蓝牙耳机,不是烧友一定很少知道的五大蓝牙耳机品牌
  18. 记录日记软件哪个好用
  19. HTML--onkeydown和onkeyup区别
  20. 兔子生兔子循环python_python 实现兔子生兔子示例

热门文章

  1. 敏捷到底有没有带来新的东西?
  2. Flutter Dart:用数字分组显示大数字
  3. 玩转用户标签体系,打造精细化运营底层能力 | 芒种训练营第一课
  4. @所有人,20 万大奖待领取!【全民找“BUG”】活动,等你!
  5. 周四话运营:如何提高用户留存?
  6. 如何成为一名大数据工程师?
  7. Bootstrap link 引入3文件
  8. react native 原生模块桥接的简单说明
  9. Dubbo的静态服务
  10. 美开发数据自毁技术适用云计算架构