Android開発、コントロールダブルクリックイベントを実現するモニターインターフェースパッケージ類
2182 ワード
プロジェクトを書く時、友達の輪をまねることを求めて、トップバーをダブルクリックしてトップに置いて、そこでカプセル化しました。
/**
* Created by Administrator on 2018/4/24.
*
*/
public class OnDoubleClickListener implements View.OnTouchListener{
private int count = 0;//
private long firstClick = 0;//
private long secondClick = 0;//
/**
* ,
*/
private final int totalTime = 1000;
/**
*
*/
private DoubleClickCallback mCallback;
public interface DoubleClickCallback {
void onDoubleClick();
}
public OnDoubleClickListener(DoubleClickCallback callback) {
super();
this.mCallback = callback;
}
/**
*
* @param v
* @param event
* @return
*/
@Override
public boolean onTouch(View v, MotionEvent event) {
if (MotionEvent.ACTION_DOWN == event.getAction()) {//
count++;
if (1 == count) {
firstClick = System.currentTimeMillis();//
} else if (2 == count) {
secondClick = System.currentTimeMillis();//
if (secondClick - firstClick < totalTime) {//
if (mCallback != null) {
mCallback.onDoubleClick();
}
count = 0;
firstClick = 0;
} else {
firstClick = secondClick;
count = 1;
}
secondClick = 0;
}
}
return true;
}
}
キーコードを具体的に適用する:
/**
* ,
*/
private void titleDoubleOnClick(){
titleLayout.setOnTouchListener(new OnDoubleClickListener(new OnDoubleClickListener.DoubleClickCallback() {
@Override
public void onDoubleClick() {
listView_neighbour.setSelection(0);//
}
}));
}
この記事では、Android開発によるコントロールダブルクリックを実現するためのインターフェースのパッケージ類を提供します。これを使って、Androidダブルクリックイベントのテクニックについては、下記の関連リンクをご覧ください。