安卓开发入门之图片缩放

来源:互联网 发布:淘宝卖家的钱在哪儿看 编辑:程序博客网 时间:2024/04/30 20:59

1.首先定义图片缩放类

public class ImageScaler        extends ScaleGestureDetector.SimpleOnScaleGestureListener {    TextView scaleDataMsg;    ImageView myImage;    float factor;    public ImageScaler(TextView v, ImageView iv) {        super();        scaleDataMsg = v;        myImage = iv;    }    @Override    public boolean onScaleBegin(ScaleGestureDetector detector) {        factor = 1.0f;        return true;    }    @Override    public boolean onScale(ScaleGestureDetector detector) {        float scaleFactor = detector.getScaleFactor() - 1;        factor += scaleFactor;        scaleDataMsg.setText(String.valueOf(scaleFactor)                + "\n" + String.valueOf(factor));        myImage.setScaleX(factor);        myImage.setScaleY(factor);        return true;    }}

2.添加布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    android:padding="16dp">    <TextView        android:id="@+id/scaleDataMsg"        android:layout_width="match_parent"        android:layout_height="wrap_content" />    <ImageView        android:id="@+id/myImage"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/android" /></LinearLayout>

3.在Activity中使用

public class MainActivity extends AppCompatActivity {    private TextView scaleDataMsg;    private ImageView myImage;    private ScaleGestureDetector scaleGestureDetector;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        scaleDataMsg = (TextView) findViewById(R.id.scaleDataMsg);        myImage = (ImageView) findViewById(R.id.myImage);        scaleGestureDetector = new ScaleGestureDetector(                this, new ImageScaler(scaleDataMsg, myImage));    }    @Override    public boolean onTouchEvent(MotionEvent event) {        scaleGestureDetector.onTouchEvent(event);        return true;    }}

4.运行结果
这里写图片描述

转载链接:http://blog.csdn.net/zhangxiangliang2/article/details/73410770