ImageView和onTouchListener实现,点击查看图片细节
生活随笔
收集整理的這篇文章主要介紹了
ImageView和onTouchListener实现,点击查看图片细节
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這是來自瘋狂android講義上的例子,其實沒啥意思。就是用監聽器獲取到手指的坐標,然后根據這個坐標開始繪制一個圖片。(這里的繪制方式有些問題,所以湊合看看吧。)
?
首先,還是布局文件(兩個ImageView)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/textView01_id"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="Large Text"/><ImageViewandroid:id="@+id/imageView01_id"android:layout_width="match_parent"android:layout_height="300dp"android:src="@drawable/kale" android:scaleType="fitXY"/><ImageViewandroid:id="@+id/imageView02_id"android:layout_width="match_parent"android:layout_height="match_parent"android:src="@drawable/kale" android:scaleType="fitXY"/></LinearLayout>MainActivity.java
package com.kale.imageview02;import android.app.Activity; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.ImageView; import android.widget.TextView;public class MainActivity extends Activity {ImageView iV01,iV02;TextView tV;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);viewInit();}public void viewInit() {iV01 = (ImageView)findViewById(R.id.imageView01_id);iV02 = (ImageView)findViewById(R.id.imageView02_id);tV = (TextView)findViewById(R.id.textView01_id);iV01.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View arg0, MotionEvent event) {if(event.getAction() == MotionEvent.ACTION_MOVE) {tV.setText("x坐標 = "+event.getX()+" y坐標 = "+event.getY());}if(event.getAction() == MotionEvent.ACTION_DOWN) {//得到圖片01的bitmapDrawable對象BitmapDrawable bitmapDrawable = (BitmapDrawable)iV01.getDrawable();//獲取到位圖Bitmap bitmap = bitmapDrawable.getBitmap();//定義縮放比例double scale = bitmap.getWidth()/320.0;//定義繪製的開始坐標int x = (int)(event.getX() * scale);int y = (int)(event.getY() * scale);if(x + 120 > bitmap.getWidth()) {x = bitmap.getWidth() - 120;}if(y + 120 >bitmap.getHeight()){y = bitmap.getHeight() - 120;}//顯示圖片的指定區域iV02.setImageBitmap(Bitmap.createBitmap(bitmap,x,y,120,120));}//如果設置為false,那麼移動坐標就不會顯示return true;}});} } 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的ImageView和onTouchListener实现,点击查看图片细节的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu下VIM使用指南
- 下一篇: http消息状态码