Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bingoogolapple/BGABadgeView-Android

Android 徽章控件
https://github.com/bingoogolapple/BGABadgeView-Android

badge badgeview

Last synced: about 1 month ago
JSON representation

Android 徽章控件

Awesome Lists containing this project

README

        

:heartpulse:BGABadgeView-Android:heartpulse:
============

[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-BGABadgeView-brightgreen.svg?style=flat)](http://android-arsenal.com/details/1/2106)
[![License](https://img.shields.io/badge/license-Apache%202-green.svg)](https://www.apache.org/licenses/LICENSE-2.0)
[![Download](https://jitpack.io/v/bingoogolapple/BGABadgeView-Android.svg)](https://jitpack.io/#bingoogolapple/BGABadgeView-Android)

### [中文文档](https://github.com/bingoogolapple/BGABadgeView-Android/blob/master/README.md)

### [react-native-bga-badge-view](https://github.com/bingoogolapple/react-native-bga-badge-view)

**The demo shows:**
* The latest message number of weibo at the bottom tab
* The VIP badge located in lower-right Corner of User’s Photo in the weibo user list
* The new message in the weixin message page
* The subscribe message in the weixin message page
* User’s round corner photo made by RoundedBitmapDrawable from v4 package
* Delete badge by drag and drop

### The realization of explosion effect refers to [ExplosionField](https://github.com/tyrantgit/ExplosionField) with the modify of only retaining one View,and only refresh the field around of badge

### Screenshots
![badgeview](https://cloud.githubusercontent.com/assets/8949716/17483429/8f5ab3aa-5db8-11e6-808c-6033f5d5c4ec.gif)

### Gradle Dependencies

[![Download](https://jitpack.io/v/bingoogolapple/BGABadgeView-Android.svg)](https://jitpack.io/#bingoogolapple/BGABadgeView-Android)

```groovy
dependencies {
implementation 'com.github.bingoogolapple.BGABadgeView-Android:api:latestVersion'
annotationProcessor 'com.github.bingoogolapple.BGABadgeView-Android:compiler:latestVersion'
}
```

### Initialize BGABadge

Add BGABadge annotation to any class, such as newly created class BGABadgeInit

```Java
@BGABadge({
View.class, // ===> cn.bingoogolapple.badgeview.BGABadgeView,If you do not need, please delete this line
ImageView.class, // ===> cn.bingoogolapple.badgeview.BGABadgeImageView,If you do not need, please delete this line
TextView.class, // ===> cn.bingoogolapple.badgeview.BGABadgeFloatingTextView,If you do not need, please delete this line
RadioButton.class, // ===> cn.bingoogolapple.badgeview.BGABadgeRadioButton,If you do not need, please delete this line
LinearLayout.class, // ===> cn.bingoogolapple.badgeview.BGABadgeLinearLayout,If you do not need, please delete this line
RelativeLayout.class, // ===> cn.bingoogolapple.badgeview.BGABadgeRelativeLayout,If you do not need, please delete this line
FloatingActionButton.class, // ===> cn.bingoogolapple.badgeview.BGABadgeFloatingActionButton,If you do not need, please delete this line
...
...
...
})
public class BGABadgeInit {
}
```

### Supported badge style for now

Class name | usage scenario
:----------- | :-----------
BGABadgeRadioButton | Bottom navigation of weibo home page
BGABadgeImageView | User’s photo of weibo user list
BGABadgeTextView | You can alternatively use BGABadgeCheckedTextView
BGABadgeLinearLayout | Message number in the right of item in the list
BGABadgeRelativeLayout | Message number in the right of item in the list
BGABadgeFrameLayout | Message number in the right of item in the list

### Interface/api explain

```java
/**
* show circle badge
*/
void showCirclePointBadge();

/**
* show text badge
*
* @param badgeText
*/
void showTextBadge(String badgeText);

/**
* hide badge
*/
void hiddenBadge();

/**
* show image badge
*
* @param bitmap
*/
void showDrawableBadge(Bitmap bitmap);

/**
* set the delegate to delete the badge by drag and drop
*
* @param delegate
*/
void setDragDismissDelegage(BGADragDismissDelegate delegate);

/**
* Whether show the badge or not
*
* @return
*/
boolean isShowBadge();

/**
* Can it be dragged
*
* @return
*/
boolean isDraggable();

/**
* Whether being dragged
*
* @return
*/
boolean isDragging();
```

### The customed attribution

The customed attribution | Explain | Default value
:----------- | :----------- | :-----------
badge_bgColor | Badge background | Color.RED
badge_textColor | Text color of badge | Color.WHITE
badge_textSize | Text font size of badge | 10sp
badge_verticalMargin | The distance in pixels from the top edge of badge’s background to the top edge of the host or from the bottom edge of badge’s bottom to the host’s bottom | 4dp
badge_horizontalMargin | The distance in pixels from the edge of badge’s background to the left or right edge of the host | 4dp
badge_padding | Badge’s padding | 4dp
badge_gravity | Badge’s gravity, it’s layout direction | For BGABadgeImageView and BGABadgeRadioButton, upper right.For others, the default is the right side of the vertical center
badge_draggable | The badge can be drag or not | false
badge_isResumeTravel | When the badge is dragged out of path, if it can resume the path in case of put back | false
badge_borderWidth | Border width of badge | 0dp
badge_borderColor | Border color of badge | Color.WHITE
badge_dragExtra | Extra distance of trigger drag event | 4dp

### About me

| Personal homepage | email | QQ for the BGA funs |
| ------------- | ------------ | ------------ |
| bingoogolapple.cn | [email protected] | ![BGA_CODE_CLUB](http://7xk9dj.com1.z0.glb.clouddn.com/BGA_CODE_CLUB.png?imageView2/2/w/200) |

## Donate

It takes much time and energy to maintain and improve this project. It BGA helps you, you may want to buy me a coffee :).



## License

Copyright 2015 bingoogolapple

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.