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);   }     }); }}

运行效果:

更多相关文章

  1. Android(安卓)网络显示图片 通过代理访问
  2. Android(安卓)-- 重置Bitmap大小&&Bitmap转角度
  3. Android控件之ImageButton
  4. Java 软引用及在Android中的应用
  5. 图片加载框架简单介绍 ImageLoader 的基本使用
  6. Android(安卓)Intent 总结
  7. android ImageButton显示本地图片
  8. android 游戏开发过程中让图片自适应
  9. android 点击 textview 显示和隐藏 的切换

随机推荐

  1. android平台下UITesting环境配置
  2. 谷歌宣布Android Studio将取代Eclipse
  3. 使用Jenkins做Java、Android项目开发持续
  4. Android开发工具Android Studio、Android
  5. Android Studio 最全使用技巧和快捷键
  6. Android自动发送短信
  7. Android之Wifi学习教程
  8. Android(安卓)Input流程
  9. WebView的简单使用
  10. 第21天 Android Touch事件学习 8 事件分