一个android应用往往有好几十个页面,而负责在这些页面中跳转的功能就落到了这些按钮的身上.按钮肩负的系统与用户之间的交互工作.下面我们来看下,在android中有哪些常见的监听器:
监听器 | 方法 | 内容 |
OnClickListener | onClick | 监听点击事件,用户点击或按下导航键时调用 |
OnLongClickListener | onLongCick | 监听长按事件,用户点击或按住导航键时调用 |
OnKeyListener | onKey | 监听物理按键,用户点击或松开物理键时调用 |
OnTouchListener | onTouch | 监听触摸实际那,用户执行触摸操作是调用(点击,滑动,弹起等) |
button.xml
<Button
android:id="@+id/bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button"/>
<TextView
android:id="@+id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
TestButton.java
public class TestButton extends Activity{
private Button bt;
private TextView text2;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.button);
bt=(Button) this.findViewById(R.id.bt);
text2=(TextView) this.findViewById(R.id.text2);
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
text2.setText("您按下了按钮");
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
float x=event.getX();
float y=event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
text2.setText("你滑动了屏幕");
break;
case MotionEvent.ACTION_DOWN:
text2.setText("你点击了屏幕,坐标x:"+x+",坐标y:"+y);
break;
case MotionEvent.ACTION_UP:
text2.setText("您松开了屏幕,坐标x:"+x+"坐标y:"+y);
break;
default:
break;
}
return super.onTouchEvent(event);
}
}
运行程序,就可以看看是什么效果了