内容发布更新时间 : 2024/12/22 22:35:30星期一 下面是文章的全部内容请认真阅读。
广东海洋大学寸金学院综合实习资料二 授课班级:13计算机1、2班 授课教师:罗成裕
/* 按键按下所触发的事件*/
public boolean onKeyDown(int keyCode, KeyEvent event){ switch (keyCode){
case KeyEvent.KEYCODE_DPAD_CENTER: DisplayToast(\按下:中键\ break;
case KeyEvent.KEYCODE_DPAD_UP: DisplayToast(\按下:上方向键\ break;
case KeyEvent.KEYCODE_DPAD_DOWN: DisplayToast(\按下:下方向键\ break;
case KeyEvent.KEYCODE_DPAD_LEFT: DisplayToast(\按下:左方向键\ break;
case KeyEvent.KEYCODE_DPAD_RIGHT: DisplayToast(\按下:右方向键\ break; }
return super.onKeyDown(keyCode, event); }
/* 按键弹起所触发的事件*/
public boolean onKeyUp(int keyCode, KeyEvent event){ switch (keyCode){
case KeyEvent.KEYCODE_DPAD_CENTER: DisplayToast(\弹起:中键\ break;
case KeyEvent.KEYCODE_DPAD_UP: DisplayToast(\弹起:上方向键\ break;
case KeyEvent.KEYCODE_DPAD_DOWN: DisplayToast(\弹起:下方向键\ break;
广东海洋大学寸金学院综合实习资料二 授课班级:13计算机1、2班 授课教师:罗成裕
case KeyEvent.KEYCODE_DPAD_LEFT: DisplayToast(\弹起:左方向键\ break;
case KeyEvent.KEYCODE_DPAD_RIGHT: DisplayToast(\弹起:右方向键\ break; }
return super.onKeyUp(keyCode, event); }
//用于响应按键重复点击,官方API指出onKeyMultiple方法总是返回false,即它没有handle,因此必须重写才能实现-------------------此方法没用过具体情况怎么样不是很清楚?
public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event){
return super.onKeyMultiple(keyCode, repeatCount, event); }
/* 触笔事件*/
public boolean onTouchEvent(MotionEvent event){
int iAction = event.getAction(); //利用getAction得到所执行的动作
if (iAction == MotionEvent.ACTION_CANCEL || iAction == MotionEvent.ACTION_DOWN || iAction == MotionEvent.ACTION_MOVE){ return false; }
//得到触笔点击的位置
int x = (int) event.getX(); int y = (int) event.getY();
//将获得的坐标转成String类型的方法 DisplayToast(\触笔点击坐标:
(\
广东海洋大学寸金学院综合实习资料二 授课班级:13计算机1、2班 授课教师:罗成裕
return super.onTouchEvent(event); }
/* 显示Toast */
public void DisplayToast(String str){
Toast.makeText(this, str, Toast.LENGTH_SHORT).show(); } }
我们分析了一些常用事件处理方式。每一个键都对应一个键值。当然也可根据需要来改变一些键的功能,需要我们自己构建KeyEvent对象------------------有待进一步学习
构造KeyEvent对象的几种方法:
KeyEvent(int action,int code);
KeyEvent(long DownTime,long EventTime,int action,int code,int repeat);
KeyEvent(long DownTime,long EventTime,int action,int code,int repeat,int metState);
KeyEvent(long DownTime,long EventTime,int action,int code,int repeat,int metState,int device,int scancode);
KeyEvent(long DownTime,long EventTime,int action,int code,int repeat,int metState,int device,int scancode,int flags);
KeyEvent(KeyEvent origEvent,long EventTime,int newRepart); 例:
public class Activity01 extends Activity{
public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); }
public boolean onKeyDown(int keyCode, KeyEvent event){ //这里构建KeyEvent对象,其功能为返回键的功能 //因此我们按任意键都会执行返回键功能
广东海洋大学寸金学院综合实习资料二 授课班级:13计算机1、2班 授课教师:罗成裕
KeyEvent key = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
//这里传入的参数就是我们自己构建的KeyEvent对象key return super.onKeyDown(key.getKeyCode(), key); } } 3.2 常用控件 Button xml设计
代码设计Button button = new Button(this); button.setText(\我是Button\ button.setWidth(123); //设置宽度 button.setHeight(123); //设置高度
button.setTextColor(Color.BLUE); //设置文字颜色 button.setTextSize(123); //设置字体大小
button.setBackgroundColor(Color.BLUE); //设置控件背景色
监听器
button.setOnClickListener(new Button.OnClickListener(){//设置按钮的事件监听
public void onClick(View v){
//处理按钮事件产生一个Toast.利用button.getText()得到按钮显示的内容
Toast toast = Toast.makeText(Activity01.this, \你点击了“\”按钮!\ //设置toast显示的位置
广东海洋大学寸金学院综合实习资料二 授课班级:13计算机1、2班 授课教师:罗成裕
toast.setGravity(Gravity.TOP, 0, 150); //显示该Toast toast.show(); } });
----------------------------------------------------------------------------------------------------------------------------- TextView 一个用来显示文本的控件 xml设计 android:id= \ //设置id android:layout_width =\ //宽度充满全屏 android:layout_height=\高度随控件变化 android:layout_height=\ android:textColor=\ android:background=\背景颜色 android:text=\你好\ android:paddingLeft=\ android:paddingTop=\ android:paddingBottom=\ android:textSize=\ android:singleLine=\ android:layout_below=\在什么下 android:gravity =\ //用于设置View中内容相对于View组件的对齐方式, android:layout_gravity//用于设置View组件相对于Container的对齐方式。 android:paddingLeft=\按钮上设置的内容离按钮左边边界30个像素 android:layout_marginLeft=\ //整个按钮离左边设置的内容30个像素 android:layout_weight=\控件权重 即占的比例 默认值为0 android:gravity=\水平居中 android:padding=\