android中的各种事件是由各种不同的监听器来完成,比如按键事件是由OnClickListener实现监听,触摸是由OnTouchListener实现监听的。
首先设置监听,然后传入要监听的事件
public class Touch913MainActivity extends Activity {
RelativeLayout rl;
TextView tv,tv2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_touch913_main);
rl=(RelativeLayout)findViewById(R.id.relativeLayout1);
tv2=(TextView)findViewById(R.id.textView2);
tv=(TextView)findViewById(R.id.textView1);
rl.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
System.out.println("触摸的是RelativeLayout");
return false;
}
});
tv.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
System.out.println("触摸的是TextView");
int num = event.getAction();
int pointer = event.getPointerCount();
StringBuffer str = new StringBuffer();
for(int i=0;i
str.append("X:"+event.getX(i));
str.append("Y:"+event.getY(i));
str.append("持续时间:"+event.getEventTime());
str.append(" "+num);
}
tv2.setText(str);
return false;
}
});
}在Logcat中你每触摸一个空间,都会给出相应触摸信息显示
语音识别:
首先实现TextToSpeech.OnInitListener,// 语音引擎初始化的时候会调用这个接口
和 TextToSpeech.OnUtteranceCompletedListener// 单词读完了
然后调用读取TextView上单词的TexttoSpeech()函数,然后调用读取函数speek()
/**
* TextToSpeech 让电脑读单词的一个工具
*
* android 1.6 之后开始支持
* 语言:英文,欧洲的一些。亚洲语言不支持。
*/
public class MyttsActivity extends Activity
implements TextToSpeech.OnInitListener, // 语音引擎初始化的时候会调用这个接口
TextToSpeech.OnUtteranceCompletedListener { // 单词读完了
TextView tv;
Button btn;
TextToSpeech tts;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView)findViewById(R.id.textView1);
btn = (Button)findViewById(R.id.button1);
tts = new TextToSpeech(this, this);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
tts.speak(tv.getText().toString(), TextToSpeech.QUEUE_ADD, null);
}
});
}
// 开始初始化引擎的时候调用
@Override
public void onInit(int status) {
//读取的语言
int result = tts.setLanguage(Locale.US);//设置读取的语言
tts.setSpeechRate(10);//设置读取的速度
if (result == TextToSpeech.LANG_MISSING_DATA ||
result == TextToSpeech.LANG_NOT_SUPPORTED) {
Toast.makeText(this, "不支持的语言!", Toast.LENGTH_SHORT).show();
}
}
// 单词读完了调用
@Override
public void onUtteranceCompleted(String utteranceId) {
// TODO Auto-generated method stub
}
} 以上只是我自己自学android入门的一些事件简介,作为总结和记录学习过程的文章,深挖还是要自己去玩。