您的位置:首页 > 移动开发 > Android开发

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只负责显示数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: