336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
        
                                
            다른 사이트 :
http://technote.kr/67
아래가 예술..
출처(出處) : http://blog.csdn.net/nizhuanxingheit/article/details/48716769
중국어로 된 사이트에서 예제를 찾았다.
더블터치를 안드로이드에서 구현하려면 더블탭이란걸 써야한다.
잘 돌아가더라.. ㄷㄷ
MyButton.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74  | public class MyButton extends Button {     private GestureDetector mGesture;     private OnDoubleClickListener onDoubleClickListener;     //自定义监听器接口     interface OnDoubleClickListener{         void onDoubleClick(View view);     }     //设置双击事件监听器的方法     public void setOnDoubleClickListener(OnDoubleClickListener onDoubleClickListener){         this.onDoubleClickListener = onDoubleClickListener;     };     public MyButton(Context context) {         super(context);     }     public MyButton(final Context context, AttributeSet attrs) {         super(context, attrs);         //         mGesture = new GestureDetector(context,new GestureDetector.SimpleOnGestureListener(){             @Override             public boolean onDoubleTap(MotionEvent e) {                 if(onDoubleClickListener!=null) {                     onDoubleClickListener.onDoubleClick(MyButton.this);                 }                 Toast.makeText(context,"双击事件",Toast.LENGTH_SHORT).show();                 return true;             }             @Override             public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {                 /**                  * 滑动和拖拽最好不要一起实现,会产生矛盾                  */                 if(Math.abs(e1.getX()-e2.getX())>50){                     setTranslationX(e2.getX() - e1.getX());                     //根据手势滑动的距离而在水平方向上滑动控件                     ObjectAnimator.ofFloat(MyButton.this,"translationX",getTranslationX(),e2.getX()-e1.getX())                             .setDuration(500).start();                     return true;                 }                 return super.onFling(e1, e2, velocityX, velocityY);             }             @Override             public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {                 //根据手势拖拽控件的相位而移动控件                 setTranslationX(getTranslationX()+e2.getX() - e1.getX());                 setTranslationY(getTranslationX()+e2.getY() - e1.getY());                 return super.onScroll(e1, e2, distanceX, distanceY);             }         });     }     public MyButton(Context context, AttributeSet attrs, int defStyleAttr) {         super(context, attrs, defStyleAttr);     }     @Override     public boolean dispatchTouchEvent(MotionEvent event) {         if(event.getAction()==MotionEvent.ACTION_DOWN){         }         return super.dispatchTouchEvent(event);     }     @Override     public boolean onTouchEvent(MotionEvent event) {         //touch事件传给onTouchEvent()         mGesture.onTouchEvent(event);         return super.onTouchEvent(event);     } }  | cs | 
MainActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  | public class MainActivity extends Activity {     private MyButton myButton;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         myButton = (MyButton) findViewById(R.id.button_doubleTap);         myButton.setOnDoubleClickListener(new MyButton.OnDoubleClickListener() {             @Override             public void onDoubleClick(View view) {                 Log.d("","点击两次");             }         });     } }  | cs | 
Activity_main.xml
1 2 3 4 5 6 7 8 9 10 11 12  | <RelativeLayout 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"                 tools:context=".MainActivity">     <com.example.administrator.selfishgroupview.MyButton         android:id="@+id/button_doubleTap"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:text="点击"/> </RelativeLayout>  | cs | 
'Android Studio' 카테고리의 다른 글
| (Android Studio) 안드로이드 그래프 차트 그리기 라이브러리들 소개 (0) | 2016.05.16 | 
|---|---|
| (Android Studio) MP Android Chart library (0) | 2016.05.16 | 
| (Android Studio) 기기별 해상도와 UI 최적화 (0) | 2016.05.16 | 
| 안드로이드 스튜디오 웹뷰 적용하기 (0) | 2016.05.16 | 
| (Android Studio) 안드로이드 TextView 스크롤 넣기 (0) | 2016.05.16 |