編輯:關於Android編程
通過右滑手勢關閉當前Activity,這個是很常見的需求,網上參考過幾篇文章發現實現都比較復雜,他們大多自己另外寫了個Layout,然後這個Layout當做頁面的布局,經測試其實有更簡單一點的方法,寫個BaseActivity,其他Activity繼承即可。這裡給出代碼,大家測試看看。有問題回饋一下,謝謝!
package com.figo.study.activity;
import android.app.Activity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
public class BaseActivity extends Activity implements View.OnTouchListener, GestureDetector.OnGestureListener {
GestureDetector mGestureDetector;
@Override
public boolean onTouch(View v, MotionEvent event) {
return mGestureDetector.onTouchEvent(event);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mGestureDetector = new GestureDetector((GestureDetector.OnGestureListener) this);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
mGestureDetector.onTouchEvent(ev);
return super.dispatchTouchEvent(ev);
}
@Override
public boolean onDown(MotionEvent e) {
return false;
}
@Override
public void onShowPress(MotionEvent e) {
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
return false;
}
@Override
public void onLongPress(MotionEvent e) {
}
private int verticalMinDistance = 20;
private int minVelocity = 0;
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if (Math.abs(e2.getY() - e1.getY()) > 200) {//這裡是避免有scroolview的頁面上劃也關閉
return false;
}
if (e1.getX() - e2.getX() > verticalMinDistance && Math.abs(velocityX) > minVelocity) {//左滑操作
} else if (e2.getX() - e1.getX() > verticalMinDistance && Math.abs(velocityX) > minVelocity) {//右滑操作
this.finish();
}
return false;
}
}
android實現倒計時功能的方法
前言 在打開愛奇藝等app的歡迎界面的時候,右上角有一個倒計時的控件。倒計時完了以後進入主界面。現在我們來實現這個功能。 方法一:利用ja
Android ContextMenu的使用
ContextMenu介紹: 如果一個View注冊了上下文菜單,那麼當長按該View時便會彈出一個浮動菜單,來供選擇下一步操作。 實現這個功能需要調用setOnCrea
Android——線程+最簡單計數器
1.第一種方法package com.example.jer824;import android.os.Handler;import android.os.Message
Android性能優化系列之apk瘦身
為什麼APK要瘦身。APK越大,在下載安裝過程中,他們耗費的流量會越多,安裝等待時間也會越長;對於產品本身,意味著下載轉化率會越低(因為競品中,用戶有更多機會選擇那個體驗