Android(安卓)ZoomControls缩放控件
16lz
2021-01-25
ZoomControls是一组可缩放的控件。它包含俩个按钮(放大按钮、缩小按钮)
他的方法如下:
hasFocus()://判断焦点hide()://隐藏onTouchEvent(MotionEvent event)://现这个方法来处理触摸屏移动事件setIsZoomInEnabled(boolean isEnabled)://是否允许放大setIsZoomOutEnabled(boolean isEnabled)://是否允许缩小setOnZoomInClickListener(View.OnClickListener listener)://注册放大监听器setOnZoomOutClickListener(View.OnClickListener listener)://注册缩小监听器setZoomSpeed(long speed)://设置缩放速度show()://显示案例图:
布局文件:zoomcontrols.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/layout1"> <ImageView android:id="@+id/imgview" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/android" /><ZoomControls android:id="@+id/zoomcontrol" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /></RelativeLayout>
2.java文件
package com.test;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Matrix;import android.os.Bundle;import android.util.DisplayMetrics;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageView;import android.widget.TextView;import android.widget.ZoomControls;public class ZoomControlsDemo extends Activity {private ZoomControls zoom; private ImageView img; private float scaleWidth = 1; private float scaleHeight = 1; private Bitmap bmp; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.zoomcontrols); // 取得屏幕分辨率大小 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); // 屏幕高度减去zoomControls的高度 bmp = BitmapFactory.decodeResource(getResources(), R.drawable.android); img = (ImageView) findViewById(R.id.imgview); // zoom.hide();隐藏zoomControls // zoom.show();显示zoomCOntrols zoom = (ZoomControls) findViewById(R.id.zoomcontrol); img = (ImageView) findViewById(R.id.imgview); zoom.setIsZoomInEnabled(true); zoom.setIsZoomOutEnabled(true); // 图片放大 zoom.setOnZoomInClickListener(new OnClickListener() { public void onClick(View v) { int bmpWidth = bmp.getWidth(); int bmpHeight = bmp.getHeight(); // 设置图片放大但比例 double scale = 1.1; // 计算这次要放大的比例 scaleWidth = (float) (scaleWidth * scale); scaleHeight = (float) (scaleHeight * scale); // 产生新的大小的Bitmap对象 Matrix matrix = new Matrix(); matrix.postScale(scaleWidth, scaleHeight); Bitmap resizeBmp = Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true); img.setImageBitmap(resizeBmp); } }); // 图片减小 zoom.setOnZoomOutClickListener(new OnClickListener() { public void onClick(View v) { int bmpWidth = bmp.getWidth(); int bmpHeight = bmp.getHeight(); // 设置图片放大但比例 double scale = 0.9; // 计算这次要放大的比例 scaleWidth = (float) (scaleWidth * scale); scaleHeight = (float) (scaleHeight * scale); // 产生新的大小但Bitmap对象 Matrix matrix = new Matrix(); matrix.postScale(scaleWidth, scaleHeight); Bitmap resizeBmp = Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true); img.setImageBitmap(resizeBmp); } }); }}
运行效果:
更多相关文章
- Android(安卓)网络显示图片 通过代理访问
- Android(安卓)-- 重置Bitmap大小&&Bitmap转角度
- Android控件之ImageButton
- Java 软引用及在Android中的应用
- 图片加载框架简单介绍 ImageLoader 的基本使用
- Android(安卓)Intent 总结
- android ImageButton显示本地图片
- android 游戏开发过程中让图片自适应
- android 点击 textview 显示和隐藏 的切换