顶部Snackbar实现

来源:互联网 发布:高斯协方差矩阵 编辑:程序博客网 时间:2024/06/05 23:06

实现一个能在顶部显示的snackbar


我们都知道谷歌官方的snackbar是只支持在底部显示的。但是有时候我们又想让snackbar在顶部显示,这时候我们可以修改一下官方的snackbar让其支持在顶部显示。

先来看下效果:

这里写图片描述



要实现从顶部加载其实很简单,我们来看一下关键代码,这里用的是Android7.1的源码

//在源码中找到mView的声明,我们看到mView的类型是SnackbarLayoutprivate final ViewGroup mTargetParent;    private final Context mContext;    private final SnackbarLayout mView;    private int mDuration;    private Callback mCallback;
//我们再找到SnackbarLayout的源码,这里只截取了一部分,看到这里我们就明白了,SnackbarLayout就是snackbar顶层layout,所以如果想让snackbar在顶部显示,改变其Gravity为TOP即可  public static class SnackbarLayout extends LinearLayout {        private ImageView mIconView;         private TextView mMessageView;        private Button mActionView;        private int mMaxWidth;        private int mMaxInlineActionWidth;        public SnackbarLayout(Context context) {            this(context, null);        } }

项目地址:TSnackbar

原创粉丝点击