public class Img extends android.support.v7.widget.AppCompatImageView {
float x = 1, y = 1;
double now = 0;
public Img(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.scale(x, y, getWidth() / 2, getHeight() / 2);
canvas.save();
super.onDraw(canvas);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getPointerCount() > 1) {
double an = Math.sqrt(Math.pow(event.getX(0) - event.getX(1), 2))
+ Math.sqrt(Math.pow(event.getY(0) - event.getY(1), 2));
if (now != 0) {
if (an > now) {
if (x < 3) {
x += 0.05;
y += 0.05;
invalidate();
}
} else {
if (x > 0.1) {
x -= 0.05;
y -= 0.05;
invalidate();
}
}
}
now = an;
}
return true;
}
}
在布局文件中直接使用就行了
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.example.administrator.a126.t4.Img
android:id="@+id/t4_view3_img1"
android:layout_width="500dp"
android:layout_height="400dp"
android:src="@drawable/t4_img" />
</LinearLayout>
<Button
android:id="@+id/t4_view4_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="返回" />
</LinearLayout>