android textview doubleclick,Android的TextView的双击事件监听

 2023-09-22 阅读 19 评论 0

摘要:TextView是没有双击事件的监听设置的,故我们这里使用的是setOnTouchListener来作为双击监听。监听的类需要实现OnTouchListener类,并重写OnTouch方法下面是实例:public class HosIntroActivity extends MyActivity implements OnTouchListener {private

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;

}

}

}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/81741.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息