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"试试