安卓onkeyup onkeydown事件小記
安卓軟鍵盤的實現:http://blog.csdn.net/hfsu0419/article/details/7924673
Activity.onKeyDown();
當某個鍵被按下時會觸發,但不會被任何的該Activity內的任何view處理。
預設按下KEYCODE_BACK鍵後會回到上一個Activity。
Activity.onKeyUp():
當某個按鍵被按下,鬆開後觸發,但不會被任何的該Activity內的任何view處理。
預設沒有執行任何操作,只是簡單的給一個false作為返回值。
在Android中是通過觸屏及鍵盤來操作程式的,我們如何響應一般的鍵盤及觸筆動作呢?通過對Android一些基本介面元素的操作的瞭解,Android將會如何處理鍵盤事件?仍在Activity中改事件響應函式來做到。
一般是如下三個Android鍵盤操作的函式:
onKeyDown, onKeyUp, on, onKeyMultiple
參看如下Android鍵盤操作程式碼:
- import android.app.Activity;
- import android.app.ProgressDialog;
- import android.os.Bundle;
- import android.view.KeyEvent;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.TextView;
- public class TestProgress extends Activity {
- private ProgressDialog progress = null;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- menu.add(0, Menu.FIRST+1, 1, "Open Progress");
- menu.add(0, Menu.FIRST+2, 2, "Exit");
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- super.onOptionsItemSelected(item);
- switch (item.getItemId())
- {
- case Menu.FIRST +1:
- {
- progress = new ProgressDialog(this);
- progress.setTitle("Progress!!");
- progress.setMessage("Please wait for the operation...");
- progress.setCancelable(true);
- progress.show();
- //progress = ProgressDialog.show(this, "Progress!", "Please wait for operation...");
- break;
- }
- case Menu.FIRST +2:
- {
- finish();
- break;
- }
- }
- return true;
- }
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- // TODO Auto-generated method stub
- super.onKeyDown(keyCode, event);
- setTitle("you pressed key:" + String.valueOf(keyCode));
- return true;
- }
- @Override
- public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) {
- // TODO Auto-generated method stub
- super.onKeyMultiple(keyCode, repeatCount, event);
- TextView tv = (TextView)this.findViewById(R.id.mainview);
- tv.setText("you have press key:[" + String.valueOf(keyCode) + "] for:" + String.valueOf(repeatCount) + "Times!");
- return true;
- }
- @Override
- public boolean onKeyUp(int keyCode, KeyEvent event) {
- // TODO Auto-generated method stub
- super.onKeyUp(keyCode, event);
- setTitle("you release key:" + String.valueOf(keyCode));
- return true;
- }
- }
相關推薦
安卓onkeyup onkeydown事件小記
安卓軟鍵盤的實現:http://blog.csdn.net/hfsu0419/article/details/7924673 Activity.onKeyDown(); 當某個鍵被按下時會觸發,但不會被任何的該Activity內的任何view處理。 預設按下KEYCO
安卓點擊事件回調機制的思考
當我 屬性 .com 分享 是什麽 很好 理解 匿名內部類 參數 回調(毀掉?)機制 http://www.cnblogs.com/heshuchao/p/5376298.html這篇文章講的很好。 這篇 屬於 JAVA的範疇,只不過我們是借用安卓按鈕的onclick事件來
安卓觸控手勢事件實現圖片跟著手指移動和圖片縮放
效果如下: 佈局程式碼: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
H5手機端iOS,安卓長按事件的解決方案
之前做手機端遊戲的開發,遇到了需要點選事件、長按事件來觸發‘上下左右’的場景,由於專案很急(好吧,其實是自己懶),網上直接搜尋外掛,痛快,不過提交測試悲劇了,ios非常正常,安卓就不行了,趕緊看了原始碼,我的天,看不懂,壓縮的什麼鬼(此處不貼圖了)。好吧,還是自己寫吧,仔細回
從Listview與Button點選事件衝突看安卓點選事件分發機制
題目有點長。其實實現Listview的時候大家都可能會碰到這樣的一個問題,那就是Listview的OnItemClickListener點選事件與Button(或者checkbox)的touch(或者click)事件衝突的問題。 宣告一下,非常感謝郭大師的這篇blog: h
安卓權威編程指南-筆記 (第29章定制視圖與觸摸事件)
getx prot ret tex when fff ati 簡單 lean 1.定制視圖 Android自帶眾多優秀的標準視圖與組件,但有時為追求獨特的應用視覺效果,我們仍需創建定制視圖。 定制視圖分為兩大類別: 簡單視圖: 簡單視圖內部也可以很復雜,之所以
9:安卓事件分發機制
結束 ron 何事 處理 spa 將不 包含 move 一個 1: ? public boolean dispatchTouchEvent (MotionEventev) 這個方法分發TouchEvent ? public booleanonInterceptT
解決 Cordova 打包 vue項目為 APP 後,在安卓平臺下 touchMove 事件不生效的問題
div 註意 項目 實現 部分 body fault event tde Cordova + vue 打包成 APP 後在部分安卓機上面,左右滑動無法正常的實現頁面滾動邏輯。 解決方案: 在 touchMove 的時候,通過 event.preventDefault
【安卓】乾坤大羅移,將容器觸摸事件傳至還有一容器、!
cti views trac col touch mark src motion tis 思路: 1.基於view.dispatchTouchEvent 作用:
app內嵌vue h5,安卓和ios攔截H5點擊事件
需要 如果 bsp eth 第一個 log src ons col 安卓和ios攔截h5點擊事件,這個函數事件必須是暴漏在window下的 安卓和ios攔截普通h5函數: 1 <div onclick = "show(),window.android.show()"
安卓自定義:Toast 以及Toast的出場動畫 以及Toast上新增圖片 以及點選事件
安卓自定義Toast: 1.自定義一個類:CustomToast 繼承自:Toast 2.在CustomToast類中 新增一個靜態 mCustomToast 物件 private static CustomToast mCustomToast; 3.在CustomToast類中 新
從另一個思路來學習安卓事件分發機制
從另一個思路來學習安卓事件分發機制 前言 事件分發機制是一個安卓老生常談的話題了,從前幾年的面試必問題到如今的本當成預設都會的基礎知識。關於這方面的部落格網上已經有很多很多了,有從原始碼分析的,有從實際出發開始分析的等等。面對這麼多的教程,小白可能一頭霧水不知道從哪裡看起,而且看完之後感覺啥也沒留下。那麼
安卓按鍵事件
安卓按鍵事件 一、思維結構 二、涉及知識點 1、線性佈局 2、影象檢視 (1)影象源 – src (2)背景 – background (3)比例型別 – scaleType 3、安卓按鍵事件處理 三、步驟 (米老鼠) 1、建立安卓應用MoveMickeyByKey 2、準備背
安卓入門之Button事件響應
Android環境 介紹 Android Studio 2.3.3 、Java之後的安卓入門部落格都是在這個環境下進行的。 Button原理簡單分析 眾所周知,button的作用就是響應事件,當but
安卓自定義View進階-特殊控制元件的事件處理方案
本文帶大家瞭解 Android 特殊形狀控制元件的事件處理方式,主要是利用了 Region 和 Matrix 的一些方法,超級實用的事件處理方案,相信看完本篇之後,任何奇葩控制元件的事件處理都會變得十分簡單。 不得不說,Android 對事件體系封裝的非常棒,即便對事件體系不太
安卓自定義View進階-事件分發機制詳解
Android 事件分發機制詳解,在上一篇文章 事件分發機制原理 中簡要分析了一下事件分發機制的原理,原理是十分簡單的,一句話就能總結:責任鏈模式,事件層層傳遞,直到被消費。 雖然原理簡單,但是隨著 Android 不斷的發展,實際運用場景也越來越複雜,所以想要徹底玩轉事件分發機制還
Android_安卓為按鈕控制元件繫結事件的五種方式
寫在最前面 本次,來介紹一下安卓中為控制元件--Button繫結事件的五種方式。 二、具體的實現 第一種:直接繫結在Button控制元件上: 步驟1.在Button控制元件上設定android:onClick=",其中這個屬性的屬性值對應的是MainA
安卓觸控事件與單擊事件的區別
在學習了安卓的觸控事件和單擊事件後,我做了一個小實驗,從中總結出它們之間的區別。 實驗如下: 首先在activity_main.xml檔案中製作一個簡單的按鈕 在Java class檔案中設定對按鈕的單擊監聽,和觸控監聽: package com.example.a
【阻止安卓返回鍵】並且帶上事件
XBack = {}; (function(XBack) { XBack.STATE = 'x - back'; XBack.element; XBack.onPopState = function(event) { event.state ===
安卓實現任意控制元件view可拖拽,並監聽拖拽和點選事件,可自動拉回螢幕邊緣
因為專案中有需要實現控制元件可任意拖拽的需求,所以簡單寫了個自定義OnTouchListener,以作拋磚引玉,歡迎大家提議反饋。 完整實現類如下,程式碼中有詳細註釋: 使用者可以決定是否開啟自動拖拽邊緣功能,可以監聽控制元件的拖拽和點選事件 public cl