TextView是没有双击事件的监听设置的,故我们这里使用的是setOnTouchListener来作为双击监听。

监听的类需要实现OnTouchListener类,并重写OnTouch方法

下面是实例:

public class HosIntroActivity extends MyActivity implements OnTouchListener {private static long size = 12; //字体大小private int count = 0;private int firClick = 0;private int secClick = 0;private int flage = 0;private TextView infor;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.info_introduction);infor = (TextView) findViewById(R.id.text_infor);
try {
infor.setText(Reader.readText(this));} catch (Exception e) {Toast.makeText(this, "读取文件失败", Toast.LENGTH_LONG).show();e.printStackTrace();}// float zoomScale = 0.5f;// 缩放比例// new ZoomTextView(infor, zoomScale);infor.setOnTouchListener(this);}
public boolean onTouch(View v, MotionEvent event) {if (MotionEvent.ACTION_DOWN == event.getAction()) {count++;if (count == 1) {firClick = (int) System.currentTimeMillis();} else if (count == 2) {secClick = (int) System.currentTimeMillis();switch (flage) {case 0:if (secClick - firClick < 1000) {// 双击事件size = size + 5;infor.setTextSize(size);flage++;}count = 0;firClick = 0;secClick = 0;return true;case 1:if (secClick - firClick < 1000) {// 双击事件size = size - 5;infor.setTextSize(size);flage--;}count = 0;firClick = 0;secClick = 0;return true;default:return true;}}}return true;}}

参考: http://abc20899.iteye.com/blog/1068432

参考中其实给出了两种方式

public class MainActivity extends Activity{ //implements OnGestureListener{   private Button button;            @Override    public void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);       setContentView(R.layout.main);              button = (Button)findViewById(R.id.btn_hello);     button.setOnTouchListener(new onDoubleClick());   }     class onDoubleClick implements View.OnTouchListener{   int count = 0; int firClick = 0; int secClick = 0;     @Override      public boolean onTouch(View v, MotionEvent event) {           if(MotionEvent.ACTION_DOWN == event.getAction()){               count++;               if(count == 1){                   firClick = (int) System.currentTimeMillis();                                  } else if (count == 2){                   secClick = (int) System.currentTimeMillis();                   if(secClick - firClick < 1000){                          //双击事件                 button.setText("wff");                 }                   count = 0;                   firClick = 0;                   secClick = 0;               }           }           return true;       }   } }


更多相关文章

  1. android 4.0.1 webkit Event 事件处理过程分析
  2. Android 编程下 Touch 事件的分发和消费机制理解
  3. 浅析Android事件分发机制
  4. Android基本控件和事件以及消息总结

随机推荐

  1. SOAP in Android
  2. android异常 More than one file was fou
  3. Android: 打印Bundle内容
  4. 一分钟解决Android(安卓)安卓 API版本兼
  5. android 根据res文件夹下(如res/raw)文件
  6. ReactNative调用原生封装的代码和控件
  7. Android(安卓)4.0 中的Camera
  8. Android(安卓)5种方式存储数据:
  9. android时序图 以及UML中时序图、流程图
  10. Android(安卓)Studio 低版本Gradle升级到