最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android編程實現(xiàn)圖片放大縮小功能ZoomControls控件用法實例

 更新時間:2017年09月25日 10:12:23   作者:ITzhongzi  
這篇文章主要介紹了Android編程實現(xiàn)圖片放大縮小功能ZoomControls控件用法,結(jié)合具體實例形式分析了Android ZoomControls控件實現(xiàn)圖片縮放的具體操作方法與相關(guān)注意事項,需要的朋友可以參考下

本文實例講述了Android編程實現(xiàn)圖片放大縮小功能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();
        //設(shè)置圖片放大但比例
        double scale = 1.25;
        //計算這次要放大的比例
        scaleWidth =(float)(scaleWidth*scale);
        scaleHeight =(float)(scaleHeight*scale);
        //產(chǎn)生新的大小但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();
        //設(shè)置圖片放大但比例
        double scale = 0.8;
        //計算這次要放大的比例
        scaleWidth =(float)(scaleWidth*scale);
        scaleHeight =(float)(scaleHeight*scale);
        //產(chǎn)生新的大小但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):現(xiàn)這個方法來處理觸摸屏移動事件
setIsZoomInEnabled(boolean isEnabled):是否允許放大
setIsZoomOutEnabled(boolean isEnabled):是否允許縮小
setOnZoomInClickListener(View.OnClickListener listener):注冊放大監(jiān)聽器
setOnZoomOutClickListener(View.OnClickListener listener):注冊縮小監(jiān)聽器
setZoomSpeed(long speed):設(shè)置縮放速度
show():顯示

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android圖形與圖像處理技巧總結(jié)》、《Android開發(fā)入門與進階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

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

相關(guān)文章

最新評論

长治县| 永宁县| 阳曲县| 鹤岗市| 石台县| 凤冈县| 桃源县| 拉孜县| 临猗县| 赞皇县| 山东省| 锡林浩特市| 崇左市| 和龙市| 军事| 四川省| 江达县| 云南省| 宜君县| 酒泉市| 古蔺县| 海兴县| 桦甸市| 扎赉特旗| 调兵山市| 宿松县| 东乌珠穆沁旗| 桂林市| 拜城县| 洛浦县| 林西县| 丰原市| 台江县| 高雄市| 棋牌| 汶川县| 湟源县| 临海市| 沭阳县| 广安市| 黄浦区|