效果:

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 设置提示语按钮字颜色

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

android 自定义 snackbar,自定义顶部SnackBar相关推荐

  1. Android 中的自定义 Snackbar

    前言 Snackbars 在 Android 应用程序中很常见.几乎每个应用程序都使用 Snackbars 来显示有关应用程序中正在发生的事情的一些信息.您可以将 Snackbar 视为 Androi ...

  2. android项目中自定义顶部标题栏,Android项目中自定义顶部标题栏

    Android项目中自定义顶部标题栏 下面给大家详细介绍android中自定义顶部标题栏的思路及实现方式 先来图: 思路及实现步骤 1.定义标题栏布局 2.自定义TitleActivity控制标题栏按 ...

  3. Android开发之自定义View

    目录 一.View的简介 1.1 View的构造函数 1.2 View的绘制流程图 二.自定义View 2.1 onMeasure()方法 2.2 OnDraw()方法 一.View的简介 View类 ...

  4. flutter 自定义tab导航-顶部导航-底部导航

    flutter_custom_bottom_tab_bar 和另外一个bottom_tab_bar的区别:github.com/LiuC520/flu- bottom_tab_bar是通过改变stat ...

  5. android 自定义dialog 定时关闭,Android编程实现自定义Dialog的大小自动控制方法示例...

    本文实例讲述了Android编程实现自定义Dialog的大小自动控制方法.分享给大家供大家参考,具体如下: Android应用开发中,无论是出于功能还是增加用户体验,弹出对话框(Dialog)进行一些 ...

  6. 如何在android中创建自定义对话框?

    本文翻译自:How to create a Custom Dialog box in android? I want to create a custom dialog box like below ...

  7. 针对Android Tv的自定义RecyclerView2 0横竖向连动

    版权声明:本文为博主原创文章,转载请注明出处. 推荐: 欢迎关注我创建的Android TV 简书专题,会定期给大家分享一些AndroidTv相关的内容: www.jianshu.com/c/37ef ...

  8. android 自定义actionbar前面有一块空白,解决Android V7后自定义Toolbar、ActionBar左侧有空白问题...

    如图所示: 1.查看Wiget.AppCompat.Toolbar的parent主题,如下所示: @style/TextAppearance.Widget.AppCompat.Toolbar.Titl ...

  9. android标尺自定义view,android尺子的自定义view——RulerView详解

    项目中用到自定义尺子的样式: 原效果为 因为跟自己要使用的view稍有不同 所以做了一些修改,修改的注释都放在代码中了,特此记录一下. 首先是一个自定义View: public class RuleV ...

  10. android 继承dialog自定义对话框

    android  继承dialog自定义对话框 样式如下: 代码实现: 主要Activity: public class MainActivity extends Activity { Button ...

最新文章

  1. 记linux与Windows之间实现文件实时同步的方案
  2. SAP RETAIL 事务代码RWBE查询界面上的Plant Group
  3. jmeter的两种参数化方法
  4. c语言的考试是操作电脑还是写试卷,C语言考试试卷都是基础的题目,由于本人没学过C语言,求各位帮忙, 爱问知识人...
  5. 计算机格式化后数据恢复的基础,用DiskGenius恢复误删除或误格式化后的文件
  6. mysql set schema_Mysql数据库优化学习之一 Schema优化
  7. Vue-admin工作整理(四):路由组件传参
  8. javascript 终极循环方法for... of ..推荐
  9. 微信公众号接入百度天气API接口
  10. 经典 55道 MySQL面试题及答案
  11. 计算机专业 在职跨英语,英语在职研究生跨专业可以吗?
  12. java多种货币的相互转换_使用java将不同的国家货币转换为双倍
  13. OKK集中生产加工中心(MC)的主要部品
  14. Dreaming to Distill Data-free Knowledge Transfer via DeepInversion
  15. 木板切割问题(二)——动态规划
  16. go学习笔记之bufio的使用
  17. GDP大跳水,“溢价阶层,春招我借这份PDF的复习思路
  18. 移动客户端与服务器通信方式一
  19. [再寄小读者之数学篇](2014-06-20 Beta 函数)
  20. 快速解决Android编译报错 : Manifest merger failed with multiple errors, see logs

热门文章

  1. Word中下一页表格无法提到上一页,导致有一大段空白的解决办法
  2. 查看mysql的日志
  3. 【力扣-JZ22】链表中倒数第k个结点
  4. Hadoop运行环境搭建(二)
  5. ListPopupWindow Overly透明遮罩效果
  6. STC8系列单片机硬件I2C使用教程(一)
  7. C语言中,指针p[i]为什么等同于数组p[i]?
  8. c语言编程求弧度值,求弧度计算方法.编程方面,弧度计算公式
  9. 金九银十,金三银四(上)
  10. 翻译计算机缩略词GDDR,计算机缩略语精选