• 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();
                }
            });
        }
    }

    效果图

  • 相关阅读:
    C#实现一个万物皆可排序的队列
    面试官:Redis 过期删除策略和内存淘汰策略有什么区别?
    递归基础练习1
    异步调用
    归并排序
    常见排序算法整理(冒泡、选择、插入、堆等)
    最大堆和最小堆java代码实现
    web内容如何保护:如何有效地保护 HTML5 格式的视频内容?
    TML转义字符:xss攻击与HTML字符的转义和反转义
    新一代构建工具(1):对比rollup/parcel/esbuild—esbuild脱颖而出
  • 原文地址:https://www.cnblogs.com/buyishi/p/10455339.html
Copyright © 2020-2023  润新知