嫁给你有什么好 ? 要车没车,要房没房

项目开发中,有时候我们需要在ImageView(或者任意view)的左上角或者其他角显示一个勋章标记之类的贴片。

如果需要我们编写代码,有一定的工作量的。LabelView可以帮助我们轻松完成这个功能。

运行效果:


嫁给你有什么好 ? 要车没车,要房没房_第1张图片

使用说明:


1、添加依赖


1 dependencies {
2   compile 'com.github.linger1216:labelview:v1.1.2'
3  }



2、创建Label


LabelView继承自TextView,因此你可以将其当作TextView,使用TextView的任意方法。

1  LabelView label = new LabelView(this);
2  label.setText("POP");
3  label.setBackgroundColor(0xff03a9f4);
4  label.setTargetView(findViewById(R.id.text), 10, LabelView.Gravity.LEFT_TOP);

设置目标view

1    setTargetView(findViewById(R.id.text), 10, LabelView.Gravity.LEFT_TOP)

第二个参数申明了底部view边缘与LabelView之间的距离(dip为单位)

嫁给你有什么好 ? 要车没车,要房没房_第2张图片



删除LabelView


你还可以删除LabelView


label.remove();

BaseAdpter中使用LabelView


如果你要在BaseAdpter中使用LabelView,并且想重用convertView,必须手动为label添加id


1public View getItemView(int position, View convertView, ViewHolder holder{
2// you have to generate label ID manual
3LabelView label = holder.getView(12345);
4if (label == null) {
5    label = new LabelView(this);
6    label.setId(12345);
7    label.setBackgroundColor(0xffE91E63);
8    label.setTargetViewInBaseAdapter(imageView, 13810, LabelView.Gravity.LEFT_TOP);
9}
10label.setText(your data);
11return convertView;
12  }


setTargetViewInBaseAdapter 参数


第二个参数是targetView的宽度(单位dip)


项目地址: https://github.com/linger1216/labelview

作者:linger1216

感谢原作者的分享。

【END】



往期精选推荐



初探Android NDK编程


手把手教你开发自定义控件



640?wx_fmt=jpeg

更多精彩内容,长按二维码,识别关注


你可能感兴趣的:(嫁给你有什么好 ? 要车没车,要房没房)