先给大家展示下效果图,看看是不是在你的意料之中哈。
labelview是在github上一个开源的标签库。其项目主页是:https://github.com/linger1216//labelview
labelview为一个textview,imageview或者为listview中适配器getview返回的view,增加一个左上角或者右上角的标签
这种需求设计在商城类app、电商类app中比较常用,这些app展示的商品,通常会增加一些促销或者该类商品的特征。
labelview集成自android textview,可以像使用android textview一样使用labelview,labelview使用简单,如代码所示:
布局代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<linearlayout xmlns:android= "http://schemas.android.com/apk/res/android" xmlns:tools= "http://schemas.android.com/tools" android:layout_width= "match_parent" android:layout_height= "match_parent" android:orientation= "vertical" tools:context= "com.zzw.textlabelview.mainactivity" > <textview android:id= "@+id/textview" android:layout_width= "match_parent" android:layout_height= "wrap_content" android:layout_weight= "" android:background= "#caf" android:gravity= "center" android:text= "textview" android:textsize= "sp" /> <textview android:id= "@+id/textview" android:layout_width= "match_parent" android:layout_height= "wrap_content" android:layout_weight= "" android:background= "#fada" android:gravity= "center" android:text= "textview" android:textsize= "sp" /> <imageview android:id= "@+id/imageview" android:layout_width= "match_parent" android:layout_height= "wrap_content" android:layout_weight= "" android:src= "@drawable/ic_launcher" /> <imageview android:id= "@+id/imageview" android:layout_width= "match_parent" android:layout_height= "wrap_content" android:layout_weight= "" android:background= "#bddb" android:src= "@drawable/ic_launcher" /> <view android:id= "@+id/view" android:layout_width= "match_parent" android:layout_height= "dip" android:background= "#eee" > </view> </linearlayout> |
java代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package com.zzw.textlabelview; import com.lid.lib.labelview; import com.lid.lib.labelview.gravity; import android.app.activity; import android.graphics.color; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.toast; public class mainactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super .oncreate(savedinstancestate); setcontentview(r.layout.activity_main); //为textview左上角添加一个标签 labelview label = new labelview( this ); label.settext( "hot" ); label.setbackgroundcolor(xffaf); label.settargetview(findviewbyid(r.id.textview), , gravity.left_top); //为textview右上角添加一个标签,点击标签移除 final labelview label = new labelview( this ); label.settext( "点击移除" ); label.setbackgroundcolor(xffee); label.settargetview(findviewbyid(r.id.textview), , gravity.right_top); findviewbyid(r.id.textview).setonclicklistener( new onclicklistener() { @override public void onclick(view v) { label.remove(); toast.maketext(getapplicationcontext(), "标签移除成功" , ).show(); } }); //为imageview添加一个左上角标签,并且自定义标签字颜色 labelview label = new labelview( this ); label.settext( "推荐" ); label.settextcolor(color.red); label.setbackgroundcolor(xffaf); label.settargetview(findviewbyid(r.id.imageview), , gravity.left_top); //为iamgeview添加一个右上角标签 labelview label = new labelview( this ); label.settext( "推荐" ); label.setbackgroundcolor(xffee); label.settargetview(findviewbyid(r.id.imageview), , gravity.right_top); //为一个view添加一个左上角标签(listview用) labelview label = new labelview( this ); label.settext( "view" ); label.settextcolor(color.blue); label.setbackgroundcolor(xffee); label.settargetview(findviewbyid(r.id.view), , gravity.left_top); } } |
以上内容是本文给大家分享的开源电商app常用标签"hot"之第三方开源labelview,希望大家喜欢。