編輯:Android開發實例
在使用android手機中經常會碰到很多做得很炫效果的應用,比如手指在屏幕上向左或者向右滑動進行界面切換的效果。這其實是用到了一個叫GestureDetector的對象Gesture:手勢 做手勢、Detector:監聽 偵測器。其實就是通過計算從接觸屏幕到離開屏幕過程中xy軸位移,和移動的速度而進行判斷做出後續的動作。
對一個控件實現手勢識別中滑動的監聽(還有單擊、雙擊、長按等等就沒介紹了)有三個步驟:1、新建一個類DefaultGestureDetector繼承自SimpleOnGestureListener重寫onFling事件2、實例化一個手勢識別對象GestureDetector gd=new GestrueDetector(new DefaultGestureDetector());3、重寫控件的onTouchEvent()事件(Activity直接Override,控件就setOnTouchListener())
第一步:
class DefaultGestureDetector extends SimpleOnGestureListener{
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY){
final int FLING_MIN_DISTANCE=100;//X或者y軸上移動的距離(像素)
final int FLING_MIN_VELOCITY=200;//x或者y軸上的移動速度(像素/秒)
if((e1.getX()-e2.getX())>FLING_MIN_DISTANCE && Math.abs(velocityX)>FLING_MIN_VELOCITY)
Toast.makeText(Main.this, "向左滑動", Toast.LENGTH_SHORT).show();
else if((e2.getX()-e1.getX())>FLING_MIN_DISTANCE && Math.abs(velocityX)>FLING_MIN_VELOCITY)
Toast.makeText(Main.this, "向右滑動", Toast.LENGTH_SHORT).show();
return false;
}
}
上面的e1.getX()-e2.getX()是計算x軸上移動的距離velocityx:x軸上的移動速率
第二部:
private GestureDetector gestureDetector;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gestureDetector=new GestureDetector(new DefaultGestureDetector());
}
第三部:
@Override
public boolean onTouchEvent(MotionEvent event){
return gestureDetector.onTouchEvent(event);
}
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
微信平台開放後倒是挺火的,許多第三方應用都想試下,畢竟可以利用微信建立起來的關系鏈來拓展自己的應用還是挺不錯的,可以節約很多在社交方面的開銷,我最近由於實習需要也
有時候,為了實現項目中的需求,完成設計好的用戶交互體驗,不的不把這些View重新改造成自己想要的效果。 Android原生的ListView是不支持左右滑動的,但