Kotlin 中的 Android Toast
Toast是在 Android 屏幕上显示一小段时间的简短警报消息。 Android Toast是一个简短的弹出通知,用于在我们在应用程序中执行任何操作时显示信息。
在本教程中,我们不仅要通过创建一个蹩脚的吐司来限制我们,还要做一些用户交互的东西。
首先,我们将创建一个带有编辑文本(用于输入的文本框)和一个按钮的屏幕。
第 1 步:在 Android Studio 中创建一个带有空 Activity 的项目,并确保您已使用 Kotlin 语言配置了该应用程序。
第 2 步:在左侧的项目窗口中,导航到app > res > layout > activity_main.xml 。
在这里,我们将添加一个编辑文本和一个按钮。因此,删除 XML 中的 hello 单词 Text View。
现在您的 XML 应该如下所示。
第 3 步:在布局中添加编辑文本。
第 4 步:在布局中添加一个按钮。
第 5 步:让我们对齐编辑文本和按钮。为了使组件在 Android 中链接,我们有一些约束。我们将把 Button 放在 Edit Text 的末尾,并将 Edit Text 放在 Button 的开头。
为按钮添加以下内容。
app:layout_constraintStart_toEndOf="@+id/messageEditText"
为 EditText 添加以下内容。
app:layout_constraintEnd_toStartOf="@+id/toastButton"
保存 XML 文件并检查设计选项卡(您可以在编辑器选项卡的左下角找到它)。您可以看到 EditText 和 Button 在应用程序顶部对齐。
第 6 步:现在,让我们转到 Kotlin 类文件并让 toast 发生。
在app > Java > com.example.toastdemo > MainActivity.kt中打开 Kotlin 类文件
将以下方法添加到类中。
fun toastMessage(view: View)
{
val messageEditText = findViewById(R.id.messageEditText)
val message = messageEditText.text.toString()
var toast = Toast.makeText(this, message, Toast.LENGTH_LONG)
toast.show()
}
这里,messageEditText 是我们在步骤 3 中在 Layout 文件中创建的 EditText 对象。为了获取 EditText 的内容,我们使用了 text 属性并将其存储在变量 message 中。
祝酒——这是本教程的核心,
var toast = Toast.makeText(this, message, Toast.LENGTH_LONG)
Toast.makeText() creates a toast and returns it and we should pass three parameters:
- context – The context to use. Usually your {@link android.app.Application}or {@link android.app.Activity} object.
- text – The text to show. Can be formatted text.
- duration – How long to display the message. Either {@link #LENGTH_SHORT} or {@link #LENGTH_LONG}
我们将 Toast 存储在变量toast中。为了使 Toast 可见,我们应该调用toast.show()
第 7 步:现在我们将为按钮添加一个单击事件侦听器,并使其在对按钮进行单击/点击时调用我们的toastMessage()方法。
回到activity_main.xml布局文件,把这个属性添加到Button
android : onClick = "toastMessage"
这就是我们所做的一切!现在运行应用程序,在编辑文本中输入一条消息,然后单击按钮。它将为消息干杯。
单击 Toast 按钮后隐藏 Android 软键盘以查看清晰的 Toast
fun hideKeyboard(activity: Activity)
{
val view = activity.findViewById(android.R.id.content) if (view != null)
{
val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE)
as InputMethodManager
imm.hideSoftInputFromWindow(view.windowToken, 0)
}
}
将上述方法添加到主活动类中,并在制作 toast 之前调用它。