android雙擊事件
⑴ android textview或者LinearLayout的雙擊事件怎麼做
這個我實現了,但是也是用記錄上次點擊時間的方法,代碼給你看下。
java">importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.TextView;
importcom.sinovoice.test.R;
{
privatestaticfinalStringTAG="DoubleClickActivity";
privateintclickCount;
privatelongpreClickTime;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextViewtv=(TextView)findViewById(R.id.tv_main);
clickCount=0;
tv.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
if(clickCount==0){
preClickTime=System.currentTimeMillis();
clickCount++;
}elseif(clickCount==1){
longcurTime=System.currentTimeMillis();
if((curTime-preClickTime)<500){
doubleClick();
}
clickCount=0;
preClickTime=0;
}else{
Log.e(TAG,"clickCount="+clickCount);
clickCount=0;
preClickTime=0;
}
}
});
}
privatevoiddoubleClick(){
Log.i(TAG,"doubleclick");
}
}
⑵ android平板電腦中怎麼樣判斷是單擊還是雙擊
android平板電腦中是沒有雙擊選項的,原因如下:
android平板電腦和電腦系統不同而且操作也是不同的,電腦打開軟體是需要雙擊軟體或者右鍵後單擊選擇打開。
android平板電腦打開軟體只需要點擊一下就可以打開了,點擊軟體2次和點擊1次效果是一樣的,都是會打開軟體的。
⑶ android 為什麼沒有雙擊事件
package test.pag;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.GestureDetector.OnGestureListener;
import android.widget.LinearLayout;
import android.widget.TextView;
public class ActivityMain extends Activity implements OnGestureListener {
private LinearLayout main;
private TextView viewA;
private GestureDetector gestureScanner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gestureScanner = new GestureDetector(this);
gestureScanner
.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener() {
public boolean onDoubleTap(MotionEvent e) {
viewA.setText("-" + "onDoubleTap" + "-");
// 雙擊時產生一次
Log.v("test", "onDoubleTap");
return false;
}
public boolean onDoubleTapEvent(MotionEvent e) {
// 雙擊時產生兩次
Log.v("test", "onDoubleTapEvent");
return false;
}
public boolean onSingleTapConfirmed(MotionEvent e) {
viewA.setText("-" + "onSingleTapConfirmed" + "-");
// 短快的點擊算一次單擊
Log.v("test", "onSingleTapConfirmed");
return false;
}
});
main = new LinearLayout(this);
main.setBackgroundColor(Color.GRAY);
main.setLayoutParams(new LinearLayout.LayoutParams(320, 480));
main.setOrientation(LinearLayout.VERTICAL);
viewA = new TextView(this);
viewA.setBackgroundColor(Color.YELLOW);
viewA.setTextColor(Color.BLACK);
viewA.setTextSize(16);
viewA.setLayoutParams(new LinearLayout.LayoutParams(320, 50));
main.addView(viewA);
setContentView(main);
}
@Override
public boolean onTouchEvent(MotionEvent me) {
return gestureScanner.onTouchEvent(me);
}
@Override
public boolean onDown(MotionEvent e) {
// viewA.setText("-" + "DOWN" + "-");
return true;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// viewA.setText("-" + "FLING" + "- "+velocityX + "- "+velocityY);
Log.v("test", "onFling " + e1.getX() + " " + e2.getX());
return true;
}
@Override
public void onLongPress(MotionEvent e) {
// viewA.setText("-" + "LONG PRESS" + "-");
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// viewA.setText("-" + "SCROLL" + "- "+distanceX + "- "+distanceY);
Log.v("test", "onScroll " + e1.getX() + " " + e2.getX());
return true;
}
@Override
public void onShowPress(MotionEvent e) {
// viewA.setText("-" + "SHOW PRESS" + "-");
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
Log.v("test", "onSingleTapUp");
// viewA.setText("-" + "SINGLE TAP UP" + "-"+ i++);
return true;
}
}
⑷ android滿足耳機雙擊事件的條件
樓上的思路是對的,但事件用錯了,樓主要求的是在「點擊」時運行宏一次,而樓上的是在「雙擊」時運行一次。
我理解樓主的「點擊」是從其他表切換到此表時,要運行一次這三個宏,以更新此表中的某些數據(在實際過程中通常都是如此),所以要用的事件應當是:Activate,即
Private Sub Worksheet_Activate()
main1
main2
main3
End Sub
把上面這一段放到你的總表的代碼中(就是在VBA編程界面中雙擊「總表」,並在其代碼書寫窗口中粘貼進上面這段程序)
⑸ android事件處理方式有哪些
現代的用戶界面,都是以事件來驅動的來實現人機交換的,而Android上的一套UI控制項,無非就是派發滑鼠和鍵盤事件,然後每個控制項收到相應的事件之後,做相應的處理。如Button控制項,就只需要處理Down、move、up這幾個事件,Down的時候重繪控制項,move的時候一般也需要重繪控制項,當up的時候,重繪控制項,然後產生onClick事件。在Android中通過實現OnClickListener介面的onClick方法來實現對Button控制項的處理。
對於觸摸屏事件(滑鼠事件)有按下有:按下、彈起、移動、雙擊、長按、滑動、滾動。按下、彈起、移動(down、move、up)是簡單的觸摸屏事件,而雙擊、長按、滑動、滾動需要根據運動的軌跡來做識別的。在Android中有專門的類去識別,android.view.GestureDetector。
對於按鍵(keyevent),無非就是按下、彈起、長按等。
⑹ 有安卓插件能讓不支持自帶雙擊喚醒手機雙擊喚醒,那個插件是什麼
沒有此類插件,原生態android 是沒有真正意義上的雙擊事件 也沒有那個概念 。
1、雙擊就是兩次單機,當點擊事件出發時按下的時候出發一次onTouch 事件,抬起的時候,也觸發一個onTouch 事件。
2、如果想做雙擊的話 只能自己進行判斷了,用兩次onTouch 抬起時的時間間隔來定位他是否是雙擊。
3、 第一點擊 抬起後記錄下當前的時候 curreenttime temp0然後保存下來,第二次點擊抬起的時候在記錄下currenttimeemp1,用temp1-temp0 在你指定的時間呢就算是雙擊。用一個標記 錯判斷如果是雙擊了就flag = true 連續的地三四次就不進行處理了,當請求處理完畢後 在吧flag =false。
⑺ android的ontouch方法如何判斷單擊還是雙擊
原生態android 是沒有真正意義上的雙擊事件 也沒有那個概念 。
1、雙擊就是兩次單機,當點擊事件出發時按下的時候出發一次onTouch 事件,抬起的時候,也觸發一個onTouch 事件。
2、如果想做雙擊的話 只能自己進行判斷了,用兩次onTouch 抬起時的時間間隔來定位他是否是雙擊。
3、 第一點擊 抬起後記錄下當前的時候 curreenttime temp0然後保存下來,第二次點擊抬起的時候在記錄下currenttimeemp1,用temp1-temp0 在你指定的時間呢就算是雙擊。用一個標記 錯判斷如果是雙擊了就flag = true 連續的地三四次就不進行處理了,當請求處理完畢後 在吧flag =false。
⑻ android中performclick()方法的作用
使用 PerformClick 方法以編程方式引發按鈕的 Click 事件。
操作過程
在「新建項目」對話框中的「模板」窗格中,單擊「Windows 窗體應用程序」,然後單擊「確定」。
一個新的 Windows 窗體項目隨即打開。
將兩個 Button 控制項從「工具箱」中拖動到窗體上。
在窗體中,雙擊第一個按鈕 (button1) 以創建 Click 事件處理程序。
在 button1_Click 事件處理程序中,鍵入以下代碼行。MessageBox.Show("button1.Click test.");
右擊這些代碼,然後單擊「視圖設計器」。
雙擊第二個按鈕 (button2) 以創建 Click 事件處理程序。
在 button2_Click 事件處理程序中,鍵入以下代碼行。button1.PerformClick();
運行程序OK。
⑼ android 鎖屏時,獲取屏幕點擊事件。 想做一個程序:鎖屏時,通過雙擊、三次點擊等將屏幕
……如果你的手機不是自帶這種功能的話,很難做的,基本不可能,要不然這么好的功能早就被做出來了,鎖屏時屏幕斷電不接受任何觸控,不是軟體就能解決的
⑽ Android webview 載入網頁,網頁中的雙擊事件失效,如何解決
webview 有沒有設置允許javascript腳本
加個屬性rel="external"試試