网站建设网站排行,互联网企业网站模板,医院做网站的风格,宜兴网站制作1.简介
位于底部的提示View 支持侧滑消失 同一时间只有一个 不支持跨Activity展示 国内使用率很低
2.基础使用
2.1 基本展示
Snackbar.make(view, Content, Snackbar.LENGTH_LONG).show()2.2 设置点击事件
注意不设置点击事件回调#xff0c;点击按钮的文字不…1.简介
位于底部的提示View 支持侧滑消失 同一时间只有一个 不支持跨Activity展示 国内使用率很低
2.基础使用
2.1 基本展示
Snackbar.make(view, Content, Snackbar.LENGTH_LONG).show()2.2 设置点击事件
注意不设置点击事件回调点击按钮的文字不会展示出来
.setAction(click) {Log.d(TAG, click)}2.3 调整显示位置
会在设置的 View 上方展示 .setAnchorView(R.id.flb_main)如果不设置 AnchorView ,默认都是在底部展示的,那么有方法展示在中间么?
private static ViewGroup findSuitableParent(View view) {ViewGroup fallback null;do {if (view instanceof CoordinatorLayout) {// Weve found a CoordinatorLayout, use itreturn (ViewGroup) view;} else if (view instanceof FrameLayout) {if (view.getId() android.R.id.content) {// If weve hit the decor content view, then we didnt find a CoL in the// hierarchy, so use it.return (ViewGroup) view;} else {// Its not the content view but well use it as our fallbackfallback (ViewGroup) view;}}if (view ! null) {// Else, we will loop and crawl up the view hierarchy and try to find a parentfinal ViewParent parent view.getParent();view parent instanceof View ? (View) parent : null;}} while (view ! null);// If we reach here then we didnt find a CoL or a suitable content view so well fallbackreturn fallback;}源码中会根据设置的view去找到最近的一个CoordinatorLayout,如果找不到就去找 FrameLayout 用来备用直到找到顶层的 id 为 android.R.id.content 的 Fragment 所以如果在布局中加入一个 CoordinatorLayout 完全可以让Snackbar展示在中间。
2.5 调整展示时间 //下一个Snackbar出现或者调用dismiss会消失public static final int LENGTH_INDEFINITE -2;//短时间 1500 实际消失时间还会加上动画消失时间public static final int LENGTH_SHORT -1;//长时间 2750 实际消失时间还会加上动画消失时间public static final int LENGTH_LONG 0;//SnackbarManagerprivate static final int SHORT_DURATION_MS 1500;private static final int LONG_DURATION_MS 2750;2.6 调整颜色
//背景颜色
.setBackgroundTint()
//点击按钮颜色
.setActionTextColor()
//文字颜色
.setTextColor()2.7 监听消失事件
.addCallback(object: BaseCallbackSnackbar() {})2.8 文字超过了会如何展示呢
内容最多2行超过会省略 按钮文字没有限制行数短字数的情况下和内容在一行展示多了会显示在内容下方。 如果想click展示完全可以扩大显示宽度 .setMaxInlineActionWidth(100)总结
使用还是比较少的常见于 Android 项目的 Demo