按生产情况,Android设备具有特定的物理键,例如音量键,电源键,返回键,主页键和活动键。这些键响应按下。相同的按键在印刷机的性质上具有特定的功能。单次按下时的音量键可将音量增加或减少一定量。同样,按一下电源键可锁定设备,但长按则可打开或关闭设备。本文将创建一个响应按键的应用程序,并生成一条确认消息。该想法可以进一步用于创建有用的应用程序:
- 游戏应用程序:物理键可用于游戏中所需的操作。
- 氛围:音量键可用于增加或降低屏幕的亮度,而不是传统方式。
- 其他应用程序的快捷方式:长时间按下Home键会弹出Google助手,可以进行类似的快捷方式。
本文旨在突破此过程的代码,并使用相同的密钥来创建任何所需的应用程序或功能。本文后面部分中解释的代码范围仅限于我们将创建的应用程序。创建的功能仅在应用程序内部起作用。下面的样本GIF给出得到什么我们将在本文中做的想法。请注意,我们将使用Kotlin语言实施此项目。
以编程方式侦听音量按钮和返回键事件的步骤
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Kotlin作为编程语言。
步骤2:使用MainActivity.kt文件
在MainActivity.kt文件中,声明覆盖函数onKeyDown 并添加以下代码,如下所示。我们将响应所按下的键生成一个Toast。下面是MainActivity.kt文件的代码。在代码内部添加了注释,以更详细地了解代码。
Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.KeyEvent
import android.widget.TextView
import android.widget.Toast
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
// 1. onKeyDown is a boolean function, which returns the state of the KeyEvent.
// 2. This function is an internal function, that functions outside the actual application.
// 3. When the any Key is pressed, a Toast appears with the following message.
// 4. This code can be used to check if the device responds to any Key.
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
when (keyCode) {
KeyEvent.KEYCODE_VOLUME_DOWN -> Toast.makeText(applicationContext, "Volume Down Key Pressed", Toast.LENGTH_SHORT).show()
KeyEvent.KEYCODE_VOLUME_UP -> Toast.makeText(applicationContext, "Volume Up Key Pressed", Toast.LENGTH_SHORT).show()
KeyEvent.KEYCODE_BACK -> Toast.makeText(applicationContext, "Back Key Pressed", Toast.LENGTH_SHORT).show()
}
return true
}
}
输出:在模拟器上运行
想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!