android代码实现tint,代码View,Model层设计的思考
2015-07-13 17:39
435 查看
android代码实现tint,代码View,Model层设计的思考
使用代码实现tint
使用业务场景:点赞功能的已点赞状态,设计师那块还没有给图片,只能先用tint凑合了imageView.setColorFilter(Color.argb(255, 255, 255, 255)); // 我使用的是Color.argb(255, 248, 185, 56);
有关知识点:255, 255, 255, 255(FFFFFFF), 就是完全不透明的纯白
十六进制中前两位代表着透明度。即00-FF (完全透明-完全不透明)
setTag在onClickListener时的妙用
viewHolder.ivLike.setTag(viewHolder); viewHolder.ivLike.setOnClickListener(new LikeClickListener(context, beeMessage)); ... @Override public void onClick(View v) { ImageView ivLike = (ImageView) v; MessageViewHolder viewHolder = (MessageViewHolder) ivLike.getTag(); }
这样写可以避免把为viewholder加入final修饰符,使viewholder的复用收到限制
充分利用了setTag方法,利用onClick传入的view对象
代码View,Model层设计的几点想法
遵循MVC原则,Model层只提供原始的数据,不要改变类型,不要在Model层进行简化,加工把简化加工的工作交给Util工具类来作
我以前在model中将int转换为String类型以方便在adapter中settext中不使用util,但后来发现这样虽然节省了编写util的时间,但是以后会出现难以预料的问题
比如我出现的问题就是数据频繁在string与int中转换,最后数据居然改变了
所以,原始的数据不应该在view层变动,model层只提供数据,util负责转换数据,view只负责显示数据。
相关文章推荐
- Android ListView点击不变颜色
- 转载Android项目重构
- Android JNI_OnLoad
- android studio图片未能识别
- Android Layout属性笔记
- android 软件 安装 卸载 启动 分享 桌面快捷方式
- Android 数据库SQLite Cursor数据遍历读取
- android悬浮窗应用
- 使用WIFI连接android进行调试和adb操作
- android各种资源的详细解释
- 手电筒的制作
- Androidの自定义对话框AlertDialog(一)
- android线程销毁
- android知识杂记(二)
- Android Fragment 真正的完全解析
- Android Fragment 真正的完全解析
- 基于Jenkins+git+gradle的android持续集成
- Tablayout(Android) 的几个重要属性
- android studio中出现的问题
- Android EditText输入最大值提示功能