今天給大家分享兩個實用有簡單的一個小圓球提示氣泡:
BadgeView
參考地址: https://github.com/qstumn/BadgeView; 個人地址:http://git.oschina.net/anan9303/QBadgeView
一個可以自由定制外觀、支持拖拽消除的MaterialDesign風格Android BadgeView
一些特性
-
隨意定制外觀,包括Badge位置、底色、邊框、陰影、文字顏色(支持透明色)、大小、內外邊距等
-
Badge數字小於0時顯示dot,等於0時隱藏整個Badge,在普通模式下超過99時顯示99+,精確模式下顯示具體值
-
支持設置文本內容
-
支持設置圖片背景
-
支持類似QQ的拖拽消除效果(默認關閉)
-
支持以動畫的方式隱藏Badge
1. gradle
compile 'q.rorbin:badgeview:1.1.2'
2. code
new QBadgeView(context).bindTarget(textview).setBadgeNumber(5);
3. 方法說明
code | 說明 |
---|---|
setBadgeNumber | 設置Badge數字 |
setBadgeText | 設置Badge文本 |
setBadgeTextSize | 設置文本字體大小 |
setBadgeTextColor | 設置文本顏色 |
setExactMode | 設置是否顯示精確模式數值 |
setBadgeGravity | 設置Badge相對於TargetView的位置 |
setGravityOffset | 設置外邊距 |
setBadgePadding | 設置內邊距 |
setBadgeBackgroundColor | 設置背景色 |
setBadgeBackground | 設置背景圖片 |
setShowShadow | 設置是否顯示陰影 |
setOnDragStateChangedListener | 打開拖拽消除模式並設置監聽 |
stroke | 描邊 |
hide | 隱藏Badge |
4.在ListView或者RecyclerView中使用
可參考demo中ListViewActivity、RecyclerViewActivity
5.一些注意事項
- 請不要在xml中創建Badge
- Badge和TargetView綁定是采用替換TargetView的Parent方式實現的,同時將Parent的Id和TargetView的Id設置成一樣來保證不會在RelativeLayout中出現位置錯亂問題,所以在bindTarget后再次使用findViewById(TargetViewId)得到的會是Parent而不是TargetView,此時建議使用Badge.getTargetView方法來獲取TargetView;