Android笔记之Snackbar的基本使用

使用Snackbar之前,须导入com.android.support:design

使用示例

package com.bu_ish.snackbar_test;

import android.graphics.Color;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

public class SnackbarExampleActivity extends AppCompatActivity {
    private static final String TAG = SnackbarExampleActivity.class.getName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_snackbar_example);
        findViewById(R.id.indefiniteButton).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Snackbar snackbar = Snackbar.make(v, "无限时长的Snackbar", Snackbar.LENGTH_INDEFINITE);
                snackbar.getView().setBackgroundColor(getResources().getColor(R.color.colorAccent));
                snackbar.setActionTextColor(Color.WHITE);
                snackbar.setAction("关闭", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(v.getContext(), "已关闭", Toast.LENGTH_SHORT).show();
                    }
                });
                snackbar.addCallback(new Snackbar.Callback() {
                    @Override
                    public void onShown(Snackbar sb) {
                        super.onShown(sb);
                        Log.d(TAG, "Snackbar.Callback.onShown(Snackbar) called");
                    }

                    @Override
                    public void onDismissed(Snackbar transientBottomBar, int event) {
                        super.onDismissed(transientBottomBar, event);
                        Log.d(TAG, "Snackbar.Callback.onDismissed(Snackbar, int) called");
                    }
                });
                snackbar.show();
            }
        });
        findViewById(R.id.longButton).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Snackbar snackbar = Snackbar.make(v, "长时效的Snackbar", Snackbar.LENGTH_LONG);
                snackbar.show();
            }
        });
        findViewById(R.id.shortButton).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Snackbar snackbar = Snackbar.make(v, "短时效的Snackbar", Snackbar.LENGTH_SHORT);
                snackbar.getView().setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                snackbar.show();
            }
        });
    }
}

效果图

原文地址:https://www.cnblogs.com/buyishi/p/10455339.html