本文實(shí)例講述了Android編程實(shí)現(xiàn)圖片放大縮小功能ZoomControls控件用法。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站維護(hù)、公眾號(hào)搭建、小程序開(kāi)發(fā)、軟件開(kāi)發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動(dòng)行銷(xiāo)領(lǐng)域創(chuàng)造價(jià)值而不懈努力!
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; //計(jì)算這次要放大的比例 scaleWidth =(float)(scaleWidth*scale); scaleHeight =(float)(scaleHeight*scale); //產(chǎn)生新的大小但Bitmap對(duì)象 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; //計(jì)算這次要放大的比例 scaleWidth =(float)(scaleWidth*scale); scaleHeight =(float)(scaleHeight*scale); //產(chǎn)生新的大小但Bitmap對(duì)象 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>
常見(jiàn)方法說(shuō)明:
hasFocus():判斷焦點(diǎn)
hide():隱藏
onTouchEvent(MotionEvent event):現(xiàn)這個(gè)方法來(lái)處理觸摸屏移動(dòng)事件
setIsZoomInEnabled(boolean isEnabled):是否允許放大
setIsZoomOutEnabled(boolean isEnabled):是否允許縮小
setOnZoomInClickListener(View.OnClickListener listener):注冊(cè)放大監(jiān)聽(tīng)器
setOnZoomOutClickListener(View.OnClickListener listener):注冊(cè)縮小監(jiān)聽(tīng)器
setZoomSpeed(long speed):設(shè)置縮放速度
show():顯示
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android圖形與圖像處理技巧總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
網(wǎng)站名稱(chēng):Android編程實(shí)現(xiàn)圖片放大縮小功能ZoomControls控件用法實(shí)例
網(wǎng)站網(wǎng)址:http://muchs.cn/article26/gedijg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、企業(yè)網(wǎng)站制作、響應(yīng)式網(wǎng)站、軟件開(kāi)發(fā)、企業(yè)建站、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)