zoukankan      html  css  js  c++  java
  • Android学习笔记之按键操作

    我们如何和Android 程序来进行交互那份?来让 Android 程序产生相应的反应,我们不得不通过键盘事件、触摸事件、传感器事件等来实现。

    键盘是Android中主要的输入设备,对按键的响应的处理是响应之间在程序中使用键盘的核心内容。


    键盘事件主要包括:

    boolean onKeyDown(int keyCode,KeyEvent event)   在按键按下时调用

    boolean onKeyUp(int keyCode,KeyEvent event)        在按键释放时调用

    boolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event)     在多个事件连续时调用,用于按键重复,必须重载@Override实现

    onTouchEvent(MotionEvent event)        触摸屏事件,当在触摸屏上有动作时调用

    boolean onKeyLongPress(int keyCode, KeyEvent event)      当你长时间按时调用

    我们只需要在我们实现的继承了 Activity 的类中 Override 这些方法即可。

    以上按键事件响应方法的第一个参数,是值所按的键,比如你是按的  space、up还是down 等,而第二个参数,则是相应的事件。

    1. package xiaosi.key;  
    2.   
    3. import android.app.Activity;  
    4. import android.os.Bundle;  
    5. import android.view.KeyEvent;  
    6. import android.widget.TextView;  
    7.   
    8. public class KeyActivity extends Activity {  
    9.     /** Called when the activity is first created. */  
    10.     private TextView text = null;  
    11.     @Override  
    12.     public void onCreate(Bundle savedInstanceState) {  
    13.         super.onCreate(savedInstanceState);  
    14.         setContentView(R.layout.main);  
    15.           
    16.         text = (TextView)findViewById(R.id.text);  
    17.     }  
    18.       
    19.     public boolean onKeyDown(int keyCode, KeyEvent event) {  
    20.         switch (keyCode) {   
    21.         case KeyEvent.KEYCODE_DPAD_CENTER:  
    22.             text.setText("Press "center" key");  
    23.             break;  
    24.         case KeyEvent.KEYCODE_DPAD_UP:  
    25.             text.setText("Press "up" key");  
    26.             break;  
    27.         case KeyEvent.KEYCODE_DPAD_DOWN:  
    28.             text.setText("Press "down" key");  
    29.             break;  
    30.         default:  
    31.             text.setText("Illegal key has been pressed");  
    32.         }  
    33.         return true;  
    34.     }  
    35. }  


    点击center键时

  • 相关阅读:
    在Oracle中计算两个日期间隔的天数、月数和年数
    洛谷P1182 数列分段 Section II(二分+贪心)
    BZOJ1734 [Usaco2005 feb]Aggressive cows 愤怒的牛(二分答案+贪心)
    分治算法
    洛谷P1031 [NOIP2002]均分纸牌
    洛谷P1803 凌乱的yyy / 线段覆盖
    洛谷P1094 [NOIP2007]纪念品分组
    洛谷P1223 排队接水
    洛谷P1208 [USACO1.3]混合牛奶 Mixing Milk
    洛谷P1181 数列分段Section1
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/6721678.html
Copyright © 2011-2022 走看看