android之组件5
来源:互联网 发布:lcd1602编程 编辑:程序博客网 时间:2024/05/16 11:31
ImageView
触摸截图(通过点击图片来实现截图,就像在淘宝上买衣服,你想放大,用鼠标点击那,旁边的一个框内会出现鼠标周围的截图)
但是有两处错误:1、如果鼠标点击到图片的外面,就会报错
2、有时候点击图片出现的截图和点击处有些偏差(算法有些问题,如果谁能解决,请留言教教我哈)
编写image.xml文件:
<ImageView android:id="@+id/img1" android:layout_width="fill_parent" android:layout_height="300dp" android:background="#cccccc" android:src="@drawable/a" /> <ImageView android:id="@+id/img2" android:layout_width="100dp" android:layout_height="100dp" android:background="#cccccc" android:scaleType="fitStart" 按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在view的左边 android:layout_marginTop="20dp" />
编写java代码:
public class ImageViewDemo extends Activity implements OnTouchListener {//触摸事件ImageView imageView1, imageView2;protected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);this.setContentView(R.layout.image);findViews();}private void findViews() {imageView1 = (ImageView) findViewById(R.id.img1);imageView2 = (ImageView) findViewById(R.id.img2);imageView1.setOnTouchListener(this);} //覆盖了触摸事件的方法public boolean onTouch(View v, MotionEvent event) {
//做一个比例的缩放 (这是我所以用图片的上和宽),如果不按这个比例计算可能会失桢 float scale = 412 / 320; //算点击处坐标 int x = (int) (event.getX() * scale);int y = (int) (event.getY() * scale); //在布局文件中设定的底下的那张图长和宽都是100 int width = (int) (100 * scale);int height = (int) (100 * scale); //截取图片
BitmapDrawable bitmapDrawable = (BitmapDrawable) imageView1.getDrawable();imageView2.setImageBitmap(Bitmap.createBitmap(bitmapDrawable.getBitmap(),x,y, width, height));return false;}}
控制为了使图片适合 ImageView 的大小,应该如何变更图片大小或移动图片。
一定是下列常量之一:
android:scaleType
常量
值
描述
matrix
0
用矩阵来绘图
fitXY
1
拉伸图片(不按比例)以填充View的宽高
fitStart
2
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的左边
fitCenter
3
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的中间
fitEnd
4
按比例拉伸图片,拉伸后图片的高度为View的高度,且显示在View的右边
center
5
按原图大小显示图片,但图片宽高大于View的宽高时,截图图片中间部分显示
centerCrop
6
按比例放大原图直至等于某边View的宽高显示。
centerInside
7
当原图宽高或等于View的宽高时,按原图大小居中显示;反之将原图缩放至View的宽高居中显示。
(译者注:设置图片的填充方式。)
- android之组件5
- Android组件之评分组件
- android组件之Activity
- Android 之 WebView 组件
- android 组件之 alertDialog
- android之四大组件
- android组件之Intent
- android组件之Service
- Android之Activity组件
- android组件之Activity
- android之组件1
- Android组件之TextView
- android之组件2
- android之组件3
- android之组件4
- Android 之 时钟组件
- Android 组件之Activities
- Android组件之Intent
- mongo数据库的性能问题
- java异常
- 史上最详细的WIN7下WIFI共享上网教程
- linux用户权限的管理
- wamcc:将Prolog编译成C (No.7-5)
- android之组件5
- 第一篇博客:网站中用到的日历
- AndroidUI组件4- ProgressBar、SeekBar、ImageView、TabHost
- Java 服务器端支持断点续传的源代码【支持快车、迅雷】
- AndroidGUI02:EditText的常用技巧
- AndroidGUI03:Spinner的常用技巧
- 做长尾关键词:页面的整体优化才是基础
- 《Python基础教程》学习笔记之[D6]抽象之函数定义,参数
- linux下网络工具之tcpdump精析