Android拖拽圖片的實現

     拖拽圖片效果的實現其實也很簡單,只要對需要拖拽的圖片設置一個TouchListener即可,在Listener的方法裏邊對圖片的位置進行計算更改就可以達到效果了。具體實現如下:

1.Activity

 

  1. import android.app.Activity; 
  2. import android.os.Bundle; 
  3. import android.view.MotionEvent; 
  4. import android.view.View; 
  5. import android.view.View.OnTouchListener; 
  6. import android.widget.ImageView; 
  7.  
  8. public class DragPicActivity extends Activity { 
  9.  
  10.     private ImageView p_w_picpathView; 
  11.     @Override 
  12.     protected void onCreate(Bundle savedInstanceState) { 
  13.         super.onCreate(savedInstanceState); 
  14.         setContentView(R.layout.drag); 
  15.         p_w_picpathView = (ImageView) findViewById(R.id.drag_pic); 
  16.          
  17.         p_w_picpathView.setOnTouchListener(new OnTouchListener() { 
  18.              
  19.             private float x, y; 
  20.             private int mx, my; 
  21.             @Override 
  22.             public boolean onTouch(View v, MotionEvent event) { 
  23.                 switch (event.getAction()) { 
  24.                 case MotionEvent.ACTION_DOWN: 
  25.                     x = event.getX(); 
  26.                     y = event.getY(); 
  27.                 case MotionEvent.ACTION_MOVE: 
  28.                     mx = (int) (event.getRawX() - x); 
  29.                     //減去的50是title和status bar的高度 
  30.                     my = (int) (event.getRawY() - y - 50); 
  31.                     v.layout(mx, my, mx + v.getWidth(), my + v.getHeight()); 
  32.                     break
  33.                 } 
  34.                  
  35.                 return true
  36.             } 
  37.         }); 
  38.     } 
  39.      

2.layout

 

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:layout_width="fill_parent" 
  4.     android:layout_height="fill_parent" 
  5.     android:gravity="center" 
  6.     android:orientation="vertical" > 
  7.  
  8.     <ImageView 
  9.         android:id="@+id/drag_pic" 
  10.         android:layout_width="50dip" 
  11.         android:layout_height="50dip" 
  12.         android:src="@drawable/ic_launcher" /> 
  13.  
  14. </LinearLayout> 

這樣拖拽圖片的效果就出來了,同樣的拖拽其他控件應該也是一樣的做法,沒測試,但拖拽圖片其實就是拖拽ImageView嘛,so easy是吧!

記錄學習的點點滴滴,讓知識掌握得更牢固。也爲回憶,嘿嘿~~Come on,Iceshow!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章