安卓之SnackBar

SnackBar

SnakeBar與Toast相似,不過SnakeBar可以與用戶進行交互。

不過首先需要在app/bulid.gradle中添加一句依賴,操作方法如下

點擊這個燈泡,選擇Add Library dependency然後添加下面的依賴

  implementation 'com.android.support:design:28.0.0'

snakeBar的使用方法與Toast的方法基本一樣,就是以下代碼

Snackbar.make(v,"hello",Snackbar.LENGTH_LONG).show();
  • 第一個參數參數是view
  • 第二個是消息內容
  • 第三個是存在時間的長度
  • 當SnakeBar出現的時候,佈局會移動一些ui元素

看下面代碼:

package com.example.snakebar;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn = (Button) findViewById(R.id.btn);
        FloatingActionButton fbtn = (FloatingActionButton) findViewById(R.id.fab);
        btn.setOnClickListener(new View.OnClickListener() {//btn的snakeBar
            @Override
            public void onClick(View v) {
                Snackbar.make(v, "hello", Snackbar.LENGTH_LONG).show();
            }
        });
        fbtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Snackbar.make(v, "hello", Snackbar.LENGTH_INDEFINITE).setAction("undo", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                    }
                }).show();
            }
        });
    }
}

xml代碼

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/btn"
        android:text="點擊我"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ></Button>
    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:src="@android:drawable/ic_input_add"
        android:layout_margin="16dp"
></com.google.android.material.floatingactionbutton.FloatingActionButton>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

 

發佈了136 篇原創文章 · 獲贊 9 · 訪問量 8082
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章