国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程實現圖片放大縮小功能ZoomControls控件用法實例

2019-10-22 18:27:14
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程實現圖片放大縮小功能ZoomControls控件用法。分享給大家供大家參考,具體如下:

MainActivity代碼:

package example.com.myapplication;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.LinearLayout;import android.widget.ZoomControls;public class MainActivity extends Activity {  private LinearLayout llLayout;  private ZoomControls zoomcontrols;  private ImageView img;  private int id=0;  private int displayWidth;  private int displayHeight;  private float scaleWidth = 1;  private float scaleHeight = 1;  private Bitmap bitmap;  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    llLayout =(LinearLayout)findViewById(R.id.layout);    //取得屏幕分辨率大小    DisplayMetrics dm = new DisplayMetrics();    getWindowManager().getDefaultDisplay().getMetrics(dm);    displayWidth = dm.widthPixels;    //屏幕高度減去zoomControls的高度    displayHeight = dm.heightPixels;    bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.c);    img =(ImageView)findViewById(R.id.image);    //zoom.hide();隱藏zoomControls    //zoom.show();顯示zoomCOntrols    zoomcontrols =(ZoomControls)findViewById(R.id.zoomcontrol);    img =(ImageView)findViewById(R.id.image);    zoomcontrols.setIsZoomInEnabled(true);    zoomcontrols.setIsZoomOutEnabled(true);    //圖片放大    zoomcontrols.setOnZoomInClickListener(new OnClickListener()    {      public void onClick(View v)      {        int bmpWidth = bitmap.getWidth();        int bmpHeight = bitmap.getHeight();        //設置圖片放大但比例        double scale = 1.25;        //計算這次要放大的比例        scaleWidth =(float)(scaleWidth*scale);        scaleHeight =(float)(scaleHeight*scale);        //產生新的大小但Bitmap對象        Matrix matrix = new Matrix();        matrix.postScale(scaleWidth, scaleHeight);        Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bmpWidth,bmpHeight,matrix,true);        img.setImageBitmap(resizeBmp);      }    });    //圖片減小    zoomcontrols.setOnZoomOutClickListener(new OnClickListener()    {      public void onClick(View v) {        int bmpWidth = bitmap.getWidth();        int bmpHeight = bitmap.getHeight();        //設置圖片放大但比例        double scale = 0.8;        //計算這次要放大的比例        scaleWidth =(float)(scaleWidth*scale);        scaleHeight =(float)(scaleHeight*scale);        //產生新的大小但Bitmap對象        Matrix matrix = new Matrix();        matrix.postScale(scaleWidth, scaleHeight);        Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bmpWidth,bmpHeight,matrix,true);        img.setImageBitmap(resizeBmp);      }    });  }}

activity_main布局文件代碼:

<LinearLayout 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/layout"  >  <ImageView    android:id="@+id/image"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:src="@drawable/c"    />  <ZoomControls    android:id="@+id/zoomcontrol"    android:layout_gravity="bottom"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    />  </LinearLayout>

常見方法說明:

hasFocus():判斷焦點
hide():隱藏
onTouchEvent(MotionEvent event):現這個方法來處理觸摸屏移動事件
setIsZoomInEnabled(boolean isEnabled):是否允許放大
setIsZoomOutEnabled(boolean isEnabled):是否允許縮小
setOnZoomInClickListener(View.OnClickListener listener):注冊放大監聽器
setOnZoomOutClickListener(View.OnClickListener listener):注冊縮小監聽器
setZoomSpeed(long speed):設置縮放速度
show():顯示

 

希望本文所述對大家Android程序設計有所幫助。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双牌县| 西平县| 江油市| 确山县| 锡林郭勒盟| 辽中县| 盘山县| 黄山市| 定南县| 安化县| 靖江市| 平利县| 吴川市| 新和县| 云霄县| 疏附县| 藁城市| 红桥区| 鹿邑县| 米脂县| 都匀市| 栾城县| 奉新县| 北川| 广安市| 罗山县| 高淳县| 无棣县| 枣庄市| 胶州市| 阳曲县| 华池县| 横峰县| 建阳市| 呼图壁县| 新和县| 玉溪市| 石楼县| 临颍县| 正阳县| 都江堰市|