編輯:關於Android編程
public class GestureTest extends Activity implements OnClickListener, OnGestureListener { // 定義手勢檢測器實例 GestureDetector detector; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity10_layout); // 創建手勢檢測器 detector = new GestureDetector(this, this); } // 將該Activity上的觸碰事件交給GestureDetector處理 @Override public boolean onTouchEvent(MotionEvent me) { return detector.onTouchEvent(me); } @Override public boolean onDown(MotionEvent arg0) { Toast.makeText(this, "正在按下", Toast.LENGTH_LONG).show(); return false; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { Toast.makeText(this, "正在拋擲", Toast.LENGTH_LONG).show(); return false; } @Override public void onLongPress(MotionEvent e) { Toast.makeText(this, "正在長按", Toast.LENGTH_LONG).show(); } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { Toast.makeText(this, "正在滑動", Toast.LENGTH_LONG).show(); return false; } @Override public void onShowPress(MotionEvent e) { Toast.makeText(this, "正在按住", Toast.LENGTH_LONG).show(); } @Override public boolean onSingleTapUp(MotionEvent e) { Toast.makeText(this, "正在抬起", Toast.LENGTH_LONG).show(); return false; } @Override public void onClick(View arg0) { } }
其中onFling()參數的意義如下:
e1:手勢起點的移動事件
e2:當前手勢點的移動事件
velocityX: 每秒x軸方向移動的像素
velocityY: 每秒y軸方向移動的像素
其中onScroll()參數的意義如下:
distanceX: 等於e1的X值減去e2的X值,計算結果帶正負號。
distanceY: 等於e1的Y值減去e2的Y值,計算結果帶正負號。
1、概述 上一篇已經基本給大家介紹了如何自定義ViewGroup,如果你還不了解,請查看:Android 手把手教您自定ViewGroup ,本篇將使用上篇
進度條(ProgressBar)java.lang.Object;android.view.View;android.widget.ProgressBar;Progres
通過前面幾篇博客,我們能夠自定義出一些比較簡單的自定義控件,但是這在實際應用中是遠遠不夠的,為了實現一些比較牛X的效果,比如側滑菜單、滑動卡片等等,我們還需要了解自定義V
Paint類介紹Paint即畫筆,在繪制文本和圖形用它來設置圖形顏色, 樣式等繪制信息。1.圖形繪制setARGB(int a,int r,int g,int b);設置