日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

view-activity跟控件在onkey事件上的传递关系

發布時間:2023/12/18 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 view-activity跟控件在onkey事件上的传递关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

android 中Activity跟View對于鍵盤的監聽,主要有以下幾個方法

//按鍵按下 public boolean onKeyDown(int keyCode, KeyEvent event) {} //按鍵彈起 public boolean onKeyUp(int keyCode, KeyEvent event) {} //常按 public boolean onKeyLongPress(int keyCode, KeyEvent event) {}

我們今天先看的就是按下、彈起兩個事件,在activity跟view兩者之間的傳遞關系。

我們先看如下的測試代碼

首先是自定義view,重寫了onkeyDown 跟onkeyUp兩個方法

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubboolean a = super.onKeyDown(keyCode, event);Log.e("123", "view_onkeydown|a===" + a);return a;}@Overridepublic boolean onKeyUp(int keyCode, KeyEvent event) {// TODO Auto-generated method stubboolean a = super.onKeyUp(keyCode, event);Log.e("123", "view_onkeyup|a==" + a);return a;}

接下來是在activity中重寫了上面兩個方法

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubLog.e("123", "activity_onkeydown");return super.onKeyDown(keyCode, event);}@Overridepublic boolean onKeyUp(int keyCode, KeyEvent event) {// TODO Auto-generated method stubLog.e("123", "activity_onkeyup");return super.onKeyUp(keyCode, event);}

然后我們打下log

?

1.當焦點不在自定義view上的時候

1 00-01 08:59:54.755: E/123(9250): activity_onkeydown2 01-01 08:59:54.951: E/123(9250): activity_onkeyup3 01-01 08:59:55.757: E/123(9250): activity_onkeydown4 01-01 08:59:55.964: E/123(9250): activity_onkeyup

2.當焦點在view上的時候

1 01-01 09:01:14.914: E/123(9250): view_onkeydown|a===true2 01-01 09:01:15.043: E/123(9250): view_onkeyup|a==false3 01-01 09:01:15.044: E/123(9250): activity_onkeyup4 01-01 09:01:16.451: E/123(9250): view_onkeydown|a===true5 01-01 09:01:16.614: E/123(9250): view_onkeyup|a==false6 01-01 09:01:16.615: E/123(9250): activity_onkeyup

總結:

從上面的log結果,我們能得到以下兩個知識點

1.控件對鍵盤的監聽,只有當控件獲得焦點的時候,才能夠起效果,activity對控件的監聽是一直存在的

2.如果控件獲得了焦點,那么監聽順序是,先view,后activity

3.如果view返回為ture,那么activity相應的監聽就不會接受到按鍵事件

轉載于:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_onkey_15915113.html

總結

以上是生活随笔為你收集整理的view-activity跟控件在onkey事件上的传递关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。