如何在安卓中添加 Snackbar
Snackbar 提供关于操作的轻量级反馈。该消息出现在手机屏幕的底部和较大设备的左下方。Snackbar 显示在屏幕所有元素的上方。但是没有任何组件受其影响。在你的视图层次结构中有一个坐标布局允许 Snackbar 启用某些功能,比如轻扫关闭和自动移动小部件。Snackbar 类似于 Toast,但唯一的主要区别是可以用 Snackbar 添加一个动作。
进场:
-
在 build.gradle 文件中添加支持库,并在依赖项部分添加材料设计依赖项。它是材料设计的一部分,这就是为什么我们要增加一个依赖。
java dependencies { implementation 'com.google.android.material:material:1.1.0' }
-
现在在 activity_main.xml 文件中添加以下代码。它将创建一个名为**的按钮来打开“T4”。
activity _ main . XML
```java <?xml version="1.0" encoding="utf-8"?> androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/layout" tools:context=".MainActivity"
<Button android:layout_gravity="center" android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18sp" android:textAllCaps="false" android:text="Open Snackbar" />
``` 3. 现在在MainActivity.java**文件中添加以下代码。这将定义按钮,并向按钮添加 onClickListener。在 onClickListener 中,创建并调用一个 Snackbar。因此,每当单击按钮时,onClickListener 都会创建一个 snackbar 并调用它,用户就会看到该消息。此 snackbar 包含一个操作,如果单击,将显示一个祝酒词。
MainActivity.java
```java package org.geeksforgeeks.gfgsnackbar;
import androidx.appcompat.app.AppCompatActivity; import androidx.coordinatorlayout .widget.CoordinatorLayout; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast;
import com.google.android.material .snackbar .Snackbar;
public class MainActivity extends AppCompatActivity {
Button button; CoordinatorLayout layout;
@Override protected void onCreate( Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
button = findViewById(R.id.button); layout = findViewById(R.id.layout);
button.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) {
// Create a snackbar Snackbar snackbar = Snackbar .make( layout, "Message is deleted", Snackbar.LENGTH_LONG) .setAction( "UNDO",
// If the Undo button // is pressed, show // the message using Toast new View.OnClickListener() { @Override public void onClick(View view) { Toast .makeText( MainActivity.this, "Undo Clicked", Toast.LENGTH_SHORT) .show(); } });
snackbar.show(); } }); } } ```
输出:
[https://media.geeksforgeeks.org/wp-content/uploads/20200505003945/Record_2020-05-05-00-35-43_6f6ad7a6a32d4495fc2b19b76a14ac9e1.mp4](https://media.geeksforgeeks.org/wp-content/uploads/20200505003945/Record_2020-05-05-00-35-43_6f6ad7a6a32d4495fc2b19b76a14ac9e1.mp4)版权属于:月萌API www.moonapi.com,转载请注明出处