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<pointer;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 } }