📜  如何在 Android 中添加 Action Snackbar?

📅  最后修改于: 2022-05-13 01:56:12.345000             🧑  作者: Mango

如何在 Android 中添加 Action Snackbar?

Snackbar 提供有关操作的轻量级反馈。该消息显示在移动设备的屏幕底部,在较大的设备上显示在左下方。 SnackBars 在用户体验中扮演着非常重要的角色。可能包含或不包含要执行的操作按钮的小吃店会立即显示由于用户交互而发生的消息。 Snackbar 与 Toast 类似,但也有一些区别,例如

  • Snackbar 只能显示在屏幕底部。
  • 它有不止一种选择。
  • 可以在时间限制前刷掉。

Action Snackbar 可以在 Snackbar 的时间限制内执行 Snackbar 中指定的动作。

分步实施

第 1 步:创建一个新项目

创建一个空的活动 Android Studio 项目。并选择 Kotlin 作为编程语言。要在 Android Studio 中创建新项目,请参阅在 kotlin 的 android studio 中创建新项目。

第 2 步:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是 activity_main.xml 文件的代码。

XML


  
     
   
    


Kotlin
package com.ayush.snackbar
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import androidx.constraintlayout.widget.ConstraintLayout
import com.google.android.material.snackbar.Snackbar
  
class MainActivity : AppCompatActivity() {
    lateinit var clmain : ConstraintLayout
    lateinit var btn : Button
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
           
        // view bindings
        clmain = findViewById(R.id.main)
        btn = findViewById(R.id.button)
  
        // setting click lister for an
        // event of click on the view.
        btn.setOnClickListener {
            // create an instance of the snackbar
            val snackbar = Snackbar.make(clmain, "Message is Deleted", Snackbar.LENGTH_LONG)
                .setAction("UNDO") {
                    val snackbar =
                        Snackbar.make(clmain, "Message is restored", Snackbar.LENGTH_LONG)
                    snackbar.show()
                }
            // call show() method to
            // display the snackbar
            snackbar.show()
        }
    }
}


第 3 步:使用 MainActivity.kt 文件

转到 MainActivity.kt 文件并参考以下代码。下面是 MainActivity.kt 文件的代码。代码中添加了注释以更详细地理解代码。

科特林

package com.ayush.snackbar
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import androidx.constraintlayout.widget.ConstraintLayout
import com.google.android.material.snackbar.Snackbar
  
class MainActivity : AppCompatActivity() {
    lateinit var clmain : ConstraintLayout
    lateinit var btn : Button
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
           
        // view bindings
        clmain = findViewById(R.id.main)
        btn = findViewById(R.id.button)
  
        // setting click lister for an
        // event of click on the view.
        btn.setOnClickListener {
            // create an instance of the snackbar
            val snackbar = Snackbar.make(clmain, "Message is Deleted", Snackbar.LENGTH_LONG)
                .setAction("UNDO") {
                    val snackbar =
                        Snackbar.make(clmain, "Message is restored", Snackbar.LENGTH_LONG)
                    snackbar.show()
                }
            // call show() method to
            // display the snackbar
            snackbar.show()
        }
    }
}

所以,我们的应用程序已经准备好了。我们可以看到输出。

输出: