精华内容
下载资源
问答
  • android – 如何自定义snackBar的布局?
    2021-06-04 08:19:19

    Snackbar不允许您设置自定义布局。然而,因为Primoz990建议你可以得到Snackbar的视图。 getView函数返回Snackbar.SnackbarLayout,它是一个水平LinearLayout对象,其子对象是一个TextView和一个Button。要将您自己的View添加到Snackbar,只需隐藏TextView,并将您的View添加到Snackbar.SnackbarLayout。

    // Create the Snackbar

    Snackbar snackbar = Snackbar.make(containerLayout, "", Snackbar.LENGTH_LONG);

    // Get the Snackbar's layout view

    Snackbar.SnackbarLayout layout = (Snackbar.SnackbarLayout) snackbar.getView();

    // Hide the text

    TextView textView = (TextView) layout.findViewById(android.support.design.R.id.snackbar_text);

    textView.setVisibility(View.INVISIBLE);

    // Inflate our custom view

    View snackView = mInflater.inflate(R.layout.my_snackbar, null);

    // Configure the view

    ImageView imageView = (ImageView) snackView.findViewById(R.id.image);

    imageView.setImageBitmap(image);

    TextView textViewTop = (TextView) snackView.findViewById(R.id.text);

    textViewTop.setText(text);

    textViewTop.setTextColor(Color.WHITE);

    // Add the view to the Snackbar's layout

    layout.addView(snackView, 0);

    // Show the Snackbar

    snackbar.show();

    更多相关内容
  • 大家都知道这是由floatingactionbutton+snackbar组合实现的,其实网上都会说snackbar和toast一样是一个轻量级的用户交互控件,所以自定义布局没啥意义,那么到底可不可以实现呢?答案是肯定的,而且很easy。 ...

    老规矩,先上图

    大家都知道这是由floatingactionbutton+snackbar组合实现的,其实网上都会说snackbar和toast一样是一个轻量级的用户交互控件,所以自定义布局没啥意义,那么到底可不可以实现呢?答案是肯定的,而且很easy。

    floatbtn = view.findViewById(R.id.item_introduct_fab);
            floatbtn.setOnClickListener(new View.OnClickListener() {
                @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
                @Override
                public void onClick(View v) {
                    initMySnackbar(v);
    
                }
            });

    initMySnackbar()实现如下:

     private void initMySnackbar(View v) {
            //初始化一个snackbar
            Snackbar snackbar = Snackbar.make(v,"",Snackbar.LENGTH_LONG);
            //修改snackbar的背景颜色
            snackbar.getView().setBackgroundColor(getResources().getColor(R.color.gray_100));
            //获取snackbar的源布局
            Snackbar.SnackbarLayout layout = (Snackbar.SnackbarLayout) snackbar.getView();
            //隐藏源布局的控件
            TextView textView = (TextView) layout.findViewById(android.support.design.R.id.snackbar_text);
            textView.setVisibility(View.INVISIBLE);
            //获取自定义view
            View snackView = LayoutInflater.from(getContext()).inflate(R.layout.my_snackbar, null);
            ImageView qqshare = snackView.findViewById(R.id.my_snackbar_qqshare);
            qqshare.setOnClickListener(this);
            ImageView zoneshare = snackView.findViewById(R.id.my_snackbar_zoneshare);
            zoneshare.setOnClickListener(this);
            ImageView wechatshare = snackView.findViewById(R.id.my_snackbar_wechatshare);
            wechatshare.setOnClickListener(this);
            ImageView sinashare = snackView.findViewById(R.id.my_snackbar_sinashare);
            sinashare.setOnClickListener(this);
            //添加自定义布局到SnackbarLayout
            layout.addView(snackView, 0);
            //显示snackbar
            snackbar.show();
        }

    Snackbar.SnackbarLayout,它是一个水平LinearLayout对象,其子对象是一个TextView和一个Button。我们只需隐藏的TextView,并将您的视图添加到Snackbar.SnackbarLayout。

    以上就是如何自定义snackbar的所有代码了,如有帮助请点个赞吧!!!

    如有问题,欢迎留言讨论!!!

    展开全文
  • 自定义SnackBar

    千次阅读 2018-07-10 16:52:07
    我浏览material.io网站时,从所谓的“Material Design 2”中找到一些新的组件,并发现Snackbar已经改变了,它不再占用整个屏幕长度,并且周围会有一个间距。 但我并没有从Support Library的alpha版本中找到它,...

    前言

    我浏览material.io网站时,从所谓的“Material Design 2”中找到一些新的组件,并发现Snackbar已经改变了,它不再占用整个屏幕长度,并且周围会有一个间距。

    但我并没有从Support Library的alpha版本中找到它,所以我决定自己实现一下。

    1、创建Drawable文件

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
        <solid android:color="#323232" />
        <corners android:radius="4dp" />
    </shape>

    2、创建工具类

    public class SnackbarHelper {
    
        public static void config(Context context, Snackbar snack) {
            addMargins(snack);
            setRoundBordersBg(context, snack);
            ViewCompat.setElevation(snack.getView(), 6f);
        }
    
        private static void addMargins(Snackbar snack) {
            ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) snack.getView().getLayoutParams();
            params.setMargins(12, 12, 12, 12);
            snack.getView().setLayoutParams(params);
        }
    
        private static void setRoundBordersBg(Context context, Snackbar snackbar) {
            snackbar.getView().setBackground(context.getResources().getDrawable(R.drawable.bg_snackbar));
        }
    }

    3、使用

    public void showSnackbar(View view) {
        Snackbar snackbar = Snackbar.make(view, "这个一个snackbar", Snackbar.LENGTH_SHORT);
        snackbar.setAction("ok", new View.OnClickListener() {
            @Override
            public void onClick(View v) {
    
            }
        });
        snackbar.setActionTextColor(Color.RED);
        SnackbarHelper.config(MainActivity.this, snackbar);
        snackbar.show();
    }

    4、展示

    展开全文
  • 自定义顶部SnackBar

    2021-06-04 08:19:22
    Instructions 自定义属性介绍(此控件是基于google SnackBar基础上实现的,因此SnackBar所具有的属性,他都有,下面给出一些我自己用到的属性) name 说明 setMinHeight(int stateBarHeight,int actionBarHeight) ...

    效果:

    b376c4eef039

    Gradle Config

    dependencies {

    implementation 'com.trycatch.android:mysnackbar:1.2.2'

    }

    use

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && android.os.Build.VERSION.SDK_INT<=Build.VERSION_CODES.LOLLIPOP) {

    Window window = getWindow();

    window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

    }

    }

    final ViewGroup viewGroup = (ViewGroup) findViewById(android.R.id.content).getRootView();//注意getRootView()最为重要,直接关系到TSnackBar的位置

    snackBar.setPromptThemBackground(Prompt.SUCCESS).setText("登录成功").setDuration(TSnackbar.LENGTH_LONG).show();

    snackBar.setPromptThemBackground(Prompt.ERROR).setText("登录失败").setDuration(TSnackbar.LENGTH_LONG).show();

    TSnackbar.make(viewGroup, "网络已连接", TSnackbar.LENGTH_LONG, TSnackbar.APPEAR_FROM_TOP_TO_DOWN).setPromptThemBackground(Prompt.SUCCESS).show();

    TSnackbar.make(viewGroup, "网络未连接", TSnackbar.LENGTH_LONG, TSnackbar.APPEAR_FROM_TOP_TO_DOWN).setPromptThemBackground(Prompt.WARNING).show();

    TSnackbar snackBar = TSnackbar.make(viewGroup, "正在加载中...", TSnackbar.LENGTH_INDEFINITE, TSnackbar.APPEAR_FROM_TOP_TO_DOWN);

    snackBar.setAction("取消", new View.OnClickListener() {

    @Override

    public void onClick(View v) {

    }

    });

    snackBar.setPromptThemBackground(Prompt.SUCCESS);

    snackBar.addIconProgressLoading(0,true,false);

    snackBar.show();

    Instructions

    自定义属性介绍(此控件是基于google SnackBar基础上实现的,因此SnackBar所具有的属性,他都有,下面给出一些我自己用到的属性)

    name 说明

    setMinHeight(int stateBarHeight,int actionBarHeight) 状态栏高度,actionBar高度

    addIcon(int resource_id) 图片资源

    addIcon(int resource_id, int width, int height) 图片资源以及大小

    addIconProgressLoading(int resource_id,boolean left,boolean right) 加载动画样式

    addIconProgressLoading(Drawable drawable,boolean left,boolean right) 加载动画样式

    setPromptThemBackground(Prompt prompt) 默认三种样式(Prompt.ERROR,Prompt.WARNING,Prompt.SUCCESS)

    setBackgroundColor 设置背景颜色

    setActionTextColor() 设置button按钮字体颜色

    setActionTextSize() 设置button按钮字体大小

    setMessageTextSize 设置提示语按钮字体大小

    setMessageTextColor 设置提示语按钮字颜色

    文章很短,路还漫长,大家好,我是玖玖君,一个帅气与才华并存的男人,我们下期再见。

    展开全文
  • 原标题:自定义Toast以及玩转SnackBar有时候真的不需要让自己在意太多,在意的太多,反而有些累,计较太多,反而让自己患得患失,随心随性就好,愿各位伙计能开心撸码~ 前言今天我们来学习下有关Toast以及SnackBar...
  • Android Snackbar 使用

    2021-06-04 08:17:49
    Snackbar 提供操作的轻量级反馈。显示在手机底部或者大屏幕的左下,Snackbar显示在所有界面的最上层,并且只显示一次。Snackbar 可以包含一个操作,使用 setAction(CharSequence, android.view.View.onClickListener...
  • Android顶部、底部标签,自定义Dialog、Snackbar、Toast,悬浮按钮,展示图伸缩效果,发送消息界面效果,登录界面效果等。
  • Cookie CookieBar is a lightweight library for showing a brief message at the top or bottom of the screen. Screenshot Usage Gradle dependencies { compile '...} Maven ... new CookieB
  • Android-Snackbar工具类

    2019-08-13 02:03:32
    Snackbar在项目中的使用场景越来越多,可全面的替代Toast,比Toast有更好的体验.该工具类可以方便的对Snackbar的样式,显示时间,位置等属性进行设置,方法比较丰富,调用简单,应该可以满足Snackbar绝大部分的使用场景!
  • 它支持通过自定义视图更改Snackbar的颜色,持续时间,消息甚至内容视图。 该库包含以下功能, 小吃店-警报类型 小吃店-设置自定义持续时间 小吃店-自定义contentview Snackbar-绑定视图 小吃店-自定义消息 ...
  • 自定义Snackbar,请将函数传递给具有以下任何属性的JS对象。 所有属性都是可选的。 财产 类型 默认值 笔记 信息 string "Operation performed successfully." 可驳回的 boolean true 暂停 number或
  • 自定义 Toast,Snackbar,一行代码搞定多重属性设置!
  • 您可以使用ksnack创建定制的snackbar。ksnack有两种视图类型:ksnack和minimal ksnack。
  • Android指定SnackBar在屏幕的位置Snackbar 常以一个小的弹出框的形式,出现在手机屏幕下方或者桌面左下方,并且是在屏幕所有层的最上方。如果要指定它在屏幕出现的位置,可以把SnackBar放置在android.support.design...
  • 关于Toast、Dialog、Snackbar在日常开发中都是经常用到的控件,但在实际使用中,用哪个更好呢,或者假如系统的Dialog不能满足我们的业务要求了,是否可以做一些自定义呢,下面就总结复习下这方面的使用。一、自定义...
  • 下面就说说这个Snackbarsnackbar比toast更加灵活,使用起来也和toast一样的简单方便。 Snackbar bar = Snackbar .make (view, "do something" , Snackbar .LENGTH _SHORT) ; Snackbar .SnackbarLayout ...
  • Android Material Design ————SnackBar使用及初步自定义 Material Design 控件 ——SnackBar
  • Android 自定义SnakeBar

    千次阅读 2016-05-14 15:45:48
    Android 自定义SnakeBar先自定义布局<?xml version="1.0" encoding="utf-8"?> android:layout_width="wrap_content" android:layout_height=
  • 一.Snackbar的使用连接...如果说Dialog和Toast是两个极端的话,那么Snackbar就是处于中间的位置了。Snackbar和Toast比较相似,但是用途更加广泛,并且它是可以和用户进行交互的。Snackbar使用一个动画效果从屏幕的底
  • Flutter - SnackBar

    2020-03-04 15:42:50
    Flutter 之 SnackBar SnackBar 是用户操作后,显示提示信息的控件,默认显示在屏幕底部,默认显示4s后自动隐藏。 SnackBar是通过Scaffold的showSnackBar方法来显示,所以想要显示SnackBar必须要先拿到Scaffold。 ...
  • Top Snackbar Show a Snackbar from the top. A big thanks to https://github.com/ejohansson, https://github.com/antoninovitale, ...
  • Snackbar 是 Android design support library 中的一个组件,它的作用和Toast类似,显示吐司,但Snackbar的特别之处在于Snackbar显示的提示信息可以和用户交互,更好地获取用户反馈信息。同时,它显示的吐司带有...
  • 主要给大家介绍了关于Android中Snackbar的使用方法及小技巧的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
  • 支持自定义颜色,字体和语言。 小吃栏用于向用户显示简短消息以及可选操作。 它们从屏幕底部向上动画,然后不久消失。 请参阅Google的,以获取有关小吃栏以及何时使用它们的更多信息。 这个怎么运作 Snackbar . ...
  • LZ-Says:有时候真的不需要让自己在意太多,在意的太多,反而有些累,计较太多,反而让自己患得患失,随心随性就好,愿各位伙计能开心撸码~前言今天我们来学习下有关Toast以及SnackBar用法,通过细节,让我们的app...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,076
精华内容 1,230
关键字:

自定义snackbar