編輯:關於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; } }
前言 在打開愛奇藝等app的歡迎界面的時候,右上角有一個倒計時的控件。倒計時完了以後進入主界面。現在我們來實現這個功能。 方法一:利用ja
ContextMenu介紹: 如果一個View注冊了上下文菜單,那麼當長按該View時便會彈出一個浮動菜單,來供選擇下一步操作。 實現這個功能需要調用setOnCrea
1.第一種方法package com.example.jer824;import android.os.Handler;import android.os.Message
為什麼APK要瘦身。APK越大,在下載安裝過程中,他們耗費的流量會越多,安裝等待時間也會越長;對於產品本身,意味著下載轉化率會越低(因為競品中,用戶有更多機會選擇那個體驗