SnackBar封装
来源:互联网 发布:防御矩阵 觉醒 steam 编辑:程序博客网 时间:2024/06/09 19:27
SnackBar学习笔记(二)
工具类(友情提示:将代码放入标签<pre></pre>
中 完美显示)
/************************************************* * @desc Snackbar工具类 * @auther LiJianfei * @time 2016/8/2 10:00 ************************************/public class SnackUtil { /** * 生成一个snackbar * * @param viewRight 需要设置监听的右侧View * @param leftStr 左侧提示语 * @param leftListener 左侧监听 view.getId()=2131492975 * @param rightStr 右侧响应语 * @param rightListener 右侧监听 view.getId()=2131492976 更正: 这里是不正确的,id值会因为控件改变而改变,不能传入监听对象 * @return */ public static boolean getSnackbar(final View viewRight, String leftStr, View.OnClickListener leftListener, String rightStr, View.OnClickListener rightListener) { Snackbar snackbar = Snackbar.make(viewRight, leftStr, Snackbar.LENGTH_LONG).setAction(rightStr, rightListener); Snackbar.SnackbarLayout snacklayout = (Snackbar.SnackbarLayout) snackbar.getView();//snackd布局// snack背景 snacklayout.setBackgroundResource(R.drawable.sel_snack);// 右侧文本(监听可在外部设置) TextView lefttv = (TextView) snacklayout.findViewById(R.id.snackbar_text); TextView actiontv = (TextView) snacklayout.findViewById(R.id.snackbar_action); actiontv.setTextColor(Color.parseColor("#FF8040"));//此处控制透明度 lefttv.setTextColor(Color.parseColor("#FF8040"));// 左侧文本 lefttv.setOnClickListener(leftListener);// 设置snackbar在界面中的布局 ViewGroup.LayoutParams params = snacklayout.getLayoutParams(); LinearLayout.LayoutParams ll = new LinearLayout.LayoutParams(params.width, params.height); ll.setMargins(100, 0, 100, 0); ll.gravity = Gravity.BOTTOM;// snacklayout.setLayoutParams(ll); snackbar.show(); return true;// 临时测试用 实际应用可随意改 }}
调用方式
/************************************************* * @desc xxxx网首页 * @auther LiJianfei * @time 2016/8/2 8:43 ************************************/public class MainActivity extends BaseActivity implements View.OnClickListener { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = fView(R.id.tv); } public void showsnack(View v) { SnackUtil.getSnackbar(textView, "左侧提示", this, "右侧提示", this);// SnackUtil.getInstance().getSnackbar(textView, "左侧提示", this, "右侧提示", this); } @Override public void onClick(View view) {// DebugLogUtil.getInstance().Debug(view.getId() + "snackbar id值测试"); switch (view.getId()) { case Constant.snackLeft:// 2131492975 showToast("左侧响应"); break; case Constant.snackRight: // 2131492976 showToast("右侧响应"); break; } }}
1 0
- SnackBar封装
- 优雅地使用Snackbar 简单封装
- snackBar
- SnackBar
- Snackbar
- SnackBar
- Snackbar
- Snackbar
- Snackbar
- Snackbar
- Snackbar
- Snackbar
- Snackbar
- Snackbar
- Snackbar
- Snackbar
- Snackbar
- Android SnackBar
- js 方法前放“;” 和 “!”的含义
- 第三方开源库:轮播图:Banner/Kanner
- 本地访问Oracle数据库无监听的问题
- Hdu1027 Ignatius and the Princess II
- iOS关于如何去除空格和回车以及字典转json
- SnackBar封装
- IOS NSArray
- solr配置同义词,停止词,和扩展词库(IK分词器为例)
- 自然语言处理之:c++中文分词(附源码)
- 窗口与子部件
- maven的java版本随jenv切换改变而改变
- 网页post和get方法中的中文乱码问题详解
- gdb 调试问题Error creating process XXXXXXXX(error 5).
- java synchronized详解