labelview
介绍:
有时,我们需要在ImageView(或者任意view)的左上角或者其他角显示一个勋章标记之类的贴片。LabelView可以帮助你完成这个功能。
运行效果:
使用说明:
导入
将LabelView.java 拷贝到你的项目。
创建Label
LabelView继承自TextView,因此你可以将其当作TextView,使用TextView的任意方法。
LabelView label = new LabelView(this);
label.setText("POP");
label.setBackgroundColor(0xff03a9f4);
label.setTargetView(findViewById(R.id.text), 10, LabelView.Gravity.LEFT_TOP);
设置目标view
setTargetView(findViewById(R.id.text), 10, LabelView.Gravity.LEFT_TOP)
第二个参数申明了底部view边缘与LabelView之间的距离(dip为单位)
第三个参数申明了LabelView在底部view上的相对位置(只有左上角和右上角两种)。
删除LabelView
你还可以删除LabelView
label.remove();
BaseAdpter中使用LabelView
如果你要在BaseAdpter中使用LabelView,并且想重用convertView,必须手动为label添加id
public View getItemView(int position, View convertView, ViewHolder holder) {
......
// you have to generate label ID manual
LabelView label = holder.getView(12345);
if (label == null) {
label = new LabelView(this);
label.setId(12345);
label.setBackgroundColor(0xffE91E63);
label.setTargetViewInBaseAdapter(imageView, 138, 10, LabelView.Gravity.LEFT_TOP);
}
label.setText(your data);
return convertView;
}
setTargetViewInBaseAdapter 参数
第二个参数是targetView的宽度(单位dip)
已下载
0