原创 Android中按键事件的使用方法

2021-4-29 14:26 608 3 4 分类: 软件与OS 文集: android studio

按键事件

按键事件主要在EditText中使用,用监听输入的内容。在布局文件中加入一个 EditText

MainActivity对应的布局文件如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. android:id="@+id/liner_click"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="vertical"
  8. tools:context=".MainActivity">
  9. <Button
  10. android:id="@+id/button_click"
  11. android:layout_width="match_parent"
  12. android:layout_height="wrap_content"
  13. android:text="我是button按钮"/>
  14. <TextView
  15. android:id="@+id/text_click"
  16. android:layout_width="match_parent"
  17. android:layout_height="wrap_content"
  18. android:text="我是textView"/>
  19. </LinearLayout>

(2) Activity实现按键事件的事件处理接View.OnKeyListener

(3)实现按键事件处理接口中的方法.

  1. MainActivity中的代码如下:
  2. package com.rfstar.keytest;
  3. import androidx.appcompat.app.AppCompatActivity;
  4. import android.os.Bundle;
  5. import android.view.KeyEvent;
  6. import android.view.View;
  7. import android.widget.EditText;
  8. import android.widget.Toast;
  9. public class MainActivity extends AppCompatActivity {
  10. EditText editText;
  11. @Override
  12. protected void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_main);
  15. editText=findViewById(R.id.edti);
  16. editText.setOnKeyListener(new View.OnKeyListener() {
  17. @Override
  18. public boolean onKey(View view, int i, KeyEvent keyEvent) {
  19. switch (keyEvent.getAction())
  20. {
  21. case KeyEvent.ACTION_DOWN:
  22. Toast.makeText(MainActivity.this,"按键落下",Toast.LENGTH_LONG).show();
  23. break;
  24. case KeyEvent.ACTION_UP:
  25. EditText edti=(EditText)view;
  26. Toast.makeText(MainActivity.this,"按键谈起,键入的是:"+edti.getText().toString(),Toast.LENGTH_LONG).show();
  27. break;
  28. }
  29. return false;
  30. }
  31. });
  32. }
  33. }

实现的onKey(View viewint keyCode,KeyEvent event)方法中有3个参数∶View参数在之前已经讲过,指代操作事件的 View对象; keyCode 指的是输入按键的编码数字;event 用来表示按键的落下与弹起状态。在实例中,用 event.getAction()获取了按键的状态,并使用 switch进行判断,对落下与弹起的状态进行处理。

这里的返回值很重要,如果返回的是 true,就意味着系统只处理我们代码中的这些事件,比如本例中的Toast,而不再处理其他动作,如向 EditText中写入文本。所以,一般情况下我们都会使用 false。读者在学习时一定要牢记这一点。

运行程序,在向 EditText 中输入文本时捕获到的按键落下状态,当输入内容后,按键弹起,我们可以捕获到输入的内容,并通过 Toast 展示输入的内容,效果如下图

所以一般在开发中我们并不会在设置了点击事件后再去设置触摸事件。

源码下载请关注大鸟科创空间,回复andriod studio进行下载

作者: 大鸟科创空间, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3949041.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论3条评论)

登录后参与讨论

简单qqq 2021-5-5 09:01

学习了

yzw92 2021-5-3 09:26

学习了

我的果果超可爱 2021-5-1 20:13

学习了
相关推荐阅读
大鸟科创空间 2021-04-28 12:58
android中的长按事件与触摸事件
长按事件长按事件就是长按了某个控件而触发的事件。TextView、ImageView、Button 等控件经常会使用长按事件。另外,布局管理器(如 LinearLayout)也是可以有长按事件的。下面...
大鸟科创空间 2021-04-23 16:44
Android中的事件处理之点击事件
在 Android 的图形界面(UI)开发中,有两个非常重要的内容∶一个是控件的布局,另个就是控件的事件处理。Android中的常用事件有点击事件、长按事件、触摸事件、焦点事件、按键事件—下拉列表的选...
大鸟科创空间 2021-04-14 18:41
常用基本控件的使用
在Android 开发中,需要使用的控件很多,除了TextView、Button、EditText,还有RadioGroup、CheckBox、Spinner、ImageView ...
大鸟科创空间 2021-04-09 13:40
Android studio之布局管理器之间的相互嵌套
在使用布局管理器进行布局时会发现,有时候实际的需求不是一种布局管理器能够满足的,这时我们可以将多个布局管理器嵌套使用。用法和单个布局管理器的使用并无多大区别,这里就以LinearLayout、Grid...
大鸟科创空间 2021-04-08 16:51
GridLayout:网格布局管理器的使用
网格布局管理器是 Android 4.0以后新增加的布局管理器。网格布局管理器将容器划分为行x列的网格,每个控件置于网格中,当然也可以通过设置相关属性使一个控件占据多行或多列. GridLa...
广告
我要评论
3
3
1
2
3
4
5
6
7
8
9
0
广告
关闭 热点推荐上一条 /4 下一条