BadgeView
一個可以自由定製外觀、支持拖拽消除的MaterialDesign風格Android BadgeView
how to use:
1. gradle
compile 'q.rorbin:badgeview:1.1.3'
VERSION_CODE : here
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,如果您有更好的解決方式並願意和我分享,請在Issues中提交給我或者給我發郵件,謝謝。