【开源】labelview

labelview

  •  https://github.com/linger1216/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为单位)

    img2.png

     

     第三个参数申明了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)

    相关代码

    • SimpleTagImageView

posted on 2015-04-28 09:55  wasdchenhao  阅读(801)  评论(0)    收藏  举报

导航