Skip to content

Commit

Permalink
Release V1.4.0,Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
peng8350 committed Feb 27, 2018
1 parent 2dee0bb commit d6abb7d
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 48 deletions.
59 changes: 37 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@
[BGABadgeView-Android](https://github.com/bingoogolapple/BGABadgeView-Android)

# Usage:
1.Introducing Gradle dependency
1.Introducing Gradle dependency
```
repositories {
jcenter()
}
dependencies{
compile 'com.jpeng:JPTabBar:1.3.5'
compile 'com.jpeng:JPTabBar:1.4.0'
}
```
Expand Down Expand Up @@ -122,37 +122,22 @@ In addition, if you want to achieve the effect of the highlight button, you need
* The Badge Can draggable when you use true.
*/
public void showBadge(int position,String text,boolean draggable);
/**
* set the icon and title filter when scroll page and click the tab
* default value is false
*/
public JPTabBar setUseFilter(boolean filter);
/**
* Set the boolean If Need the PageAnimate
* default value is false
*/
public JPTabBar setUseScrollAnimate(boolean scrollAnimate);
/**
*Show the Circle point
*/
public void showCircleBadge(int pos);
/**
* Set the Badge Message Count Limit
* If you use ShowBadge(int position,int count)
* If the Second parameters > limit , it will show "limit+"
* you can see the screenshots
*/
public void setCountLimit(int limit);
/**
* Hide the OVAL Badge
*/
public void hideBadge(int position);
/**
* get if the badge showing
*/
public boolean isBadgeShow(int index)
/**
* Switch Tab page
*/
Expand All @@ -172,6 +157,16 @@ In addition, if you want to achieve the effect of the highlight button, you need
* get the TabMiddleItem View that you set in "TabMiddleView" attribute
*/
public View getMiddleView();
/**
* set TabItem title
*/
public void setTitle(int pos, String title)
/**
* get TabItem
*/
public JPTabItem getTabAtPosition(int pos)
```
### Attribute Explain:
| Attribute Name | Attribute Explain | Parameter Type | Default Value |
Expand All @@ -181,12 +176,16 @@ In addition, if you want to achieve the effect of the highlight button, you need
| TabTextSize |the textsize of the bottom text |dimension | 14sp |
| TabIconSize |the icon size of the tab |dimension| 24dp |
| TabIconFilter | Set the icon change by the font color|boolean | true |
| TabTypeface | set tabitems font typeface| string | null |
| TabMargin |Set the icon distance above and below the distance from the text |dimension | 8dp |
| TabSelectBg |Set the TabItem Selected bg |color | transparent |
| TabAnimate |The animate type of the Tab Switch(None,Scale,Jump....) |enum | None |
| TabMiddleView |The middle View of the tab |layout ||
| TabMiddleBottomDis | Midlle icon bottomMargin from TabBar |dimension | 20dp |
| TabMiddleHMargin | MiddleIcon both the left and right margin |dimension | 24dp |
| TabPressAnimateEnable | enable press down TabItem animation effect |boolean | true |
| TabPageAnimateEnable | enable page scroll animation |boolean | false |
| TabGradientEnable | enable the alpha of the icon to change with the page |boolean | false |
| BadgeColor |The background of the badgeView |color | #f00(RED) |
| BadgePadding |The background expansion distance of the badge |dimension | 4dp |
| BadgeTextSize |The textSize of the Badge |dimension | 10dp |
Expand All @@ -208,6 +207,8 @@ In addition, if you want to achieve the effect of the highlight button, you need
```
2.If you want to Disable the scroll of ViewPager,you can use NoScrollViewPager in my demo

3.The callback method of onInterruptSelect in OnTabSelectListener only interrupts the case of clicking on TabItem, and does not consider the page slide past and selected.

# The existence problem:
1.About badge function can not drag, drag, disappear and so on, this problem occurred
in a part of millet mobile phone model, the original author is Through the suspension
Expand Down Expand Up @@ -270,6 +271,20 @@ setRotationY and setRotationX,The Flip animation is called setRotationY
- Fix a crash when pressing down and not using animation
- Update the default animation is None

### V1.3.5
- adding methods of dynamically modified nodes
- Modify the logical judgment of touch events (switch to other Tab ineminable badges)
- Fix the error value in TabAnimate in attrs.xml
- Exposing the TabItem interface, you can manipulate TabItem directly

### V1.4.0
- Add the function of the font type for setting up TabItem
- Add the onInterruptSelect callback method to determine whether or not the click event is interrupted
- Remove methods and attributes that have little partial effect, such as message limit
- Add the control to press down the animation effect switch
- Add some TabBar methods, such as modifying a tab title, icons, and so on
- Rename the two method names of setUseScrollAnimate setUseFilter and can be set by nodes

# About Me
A college student, is still in the study of various techniques...<br>
E-mail:peng8350@gmail.com
Expand Down
57 changes: 36 additions & 21 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
}
dependencies{
compile 'com.jpeng:JPTabBar:1.3.5'
compile 'com.jpeng:JPTabBar:1.4.0'
}
```
Expand Down Expand Up @@ -121,35 +121,20 @@
*/
public void showBadge(int position,String text,boolean draggable);
/**
* 设置图标和标题的滑动渐变以及点击渐变是否使用
* 默认为false
*/
public JPTabBar setUseFilter(boolean filter);
/**
* 设置是否需要页面滚动动画
* 默认为false
*/
public JPTabBar setUseScrollAnimate(boolean scrollAnimate);
/**
*显示圆点徽章
*/
public void showCircleBadge(int pos);
/**
* 设置徽章消息数量限制数
* 如果你使用这个方法 ShowBadge(int position,int count)
* 如果第二个参数 > limit , Badge将会显示 "limit+"
* 可以看下参考图
*/
public void setCountLimit(int limit);
/**
* 隐藏BadgeView
*/
public void hideBadge(int position);
/**
* 获取徽章是否显示
*/
public boolean isBadgeShow(int index)
/**
* 切换Tab页面
Expand All @@ -170,6 +155,16 @@
* 这个方法用来获得中间TabItem的View对象(即你在XML设置的"TabMiddleView")
*/
public View getMiddleView();
/**
* 设置某个TabItem的标题
*/
public void setTitle(int pos, String title)
/**
* 获取TabItem
*/
public JPTabItem getTabAtPosition(int pos)
```

### 结点说明:
Expand All @@ -180,12 +175,16 @@
| TabTextSize |Tab底部文件大小 |dimension | 14sp |
| TabIconSize |Tab图标的大小 |dimension| 24dp |
| TabIconFilter | 设置图标是否随着字体颜色而改变|boolean | true |
| TabTypeface | 设置所有TabItem的字体类型| string | null |
| TabMargin |设置图标距离上面和文字距离下面的距离 |dimension | 8dp |
| TabSelectBg |设置TabBarItem选中的背景颜色 |color | 透明 |
| TabAnimate |Tab切换的动画类型(None,Scale,Jump....) |enum | NULL |
| TabMiddleView |Tab中间自定义View |layout ||
| TabMiddleBottomDis | 中间图标底部距离 |dimension | 20dp |
| TabMiddleHMargin | 中间图标的左右间距 |dimension | 24dp |
| TabPressAnimateEnable | 允许按住TabItem的动画效果 |boolean | true |
| TabPageAnimateEnable | 允许页面滑动效果 |boolean | false |
| TabGradientEnable | 允许图标颜色随着页面滑动而改变 |boolean | false |
| BadgeColor |徽章的背景颜色 |color | #f00(红色) |
| BadgePadding |徽章的背景扩展距离 |dimension | 4dp |
| BadgeTextSize |徽章显示的字体大小 |dimension | 11dp |
Expand All @@ -205,6 +204,8 @@
```
2.如果你想让ViewPager禁止滑动,你可以使用我demo中的NoScrollViewPager

3.OnTabSelectListener里的onInterruptSelect的回调方法只中断点击TabItem的情况,不考虑页面滑动过去后选中

# 存在的问题:
1.关于徽章的功能无法拖动,拖动消失等问题,这个问题发生在一部分小米手机机型上,原作者是
通过悬浮窗口实现徽章的爆炸效果,这类手机默认没有打开悬浮窗的权限<br>
Expand Down Expand Up @@ -264,6 +265,20 @@ Flip动画正是调用了setRotationY
- 修正不使用动画时按下奔溃问题
- 修改默认动画为没有动画

### V1.3.5
- 新增动态修改结点的方法
- 修正触摸事件逻辑判断问题(换到别的Tab不能滑动徽章)
- 修复在attrs里TabAnimate值的错误
- 暴露TabItem接口,可以直接操作TabItem

### V1.4.0
- 添加设置TabItem的字体类型的功能
- 添加onInterruptSelect回调方法来决定是否中断点击事件
- 移除部分作用不大的方法和属性,比如:消息限制格式
- 增加可以控制按住动画效果开关
- 增加TabBar部分方法,比如:修改某个tab标题,图标等
- 重命名setUseScrollAnimate setUseFilter这两个方法名,并且可通过结点设置

# 关于我
一名在校大学生,目前还在专研学习各种技术中...<br>
邮箱:peng8350@gmail.com
Expand Down
11 changes: 8 additions & 3 deletions app/src/main/java/com/jpeng/demo/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
mTabbar = (JPTabBar) findViewById(tabbar);
mPager = (ViewPager) findViewById(R.id.view_pager);
mTabbar.setTitles("asd","页面二","页面三","页面四").setNormalIcons(R.mipmap.tab1_normal,R.mipmap.tab2_normal,R.mipmap.tab3_normal,R.mipmap.tab4_normal)
.setSelectedIcons(R.mipmap.tab1_selected,R.mipmap.tab2_selected,R.mipmap.tab3_selected);
// mTabbar.setTabTypeFace("fonts/Jaden.ttf");
// mTabbar.setTitles("asd","页面二","页面三","页面四").setNormalIcons(R.mipmap.tab1_normal,R.mipmap.tab2_normal,R.mipmap.tab3_normal,R.mipmap.tab4_normal)
// .setSelectedIcons(R.mipmap.tab1_selected,R.mipmap.tab2_selected,R.mipmap.tab3_selected,R.mipmap.tab4_selected).generate();
mTabbar.setTabTypeFace("fonts/Jaden.ttf");
mTab1 = new Tab1Pager();
mTab2 = new Tab2Pager();
mTab3 = new Tab3Pager();
Expand All @@ -70,6 +70,7 @@ protected void onCreate(Bundle savedInstanceState) {
//设置Badge消失的代理
mTabbar.setDismissListener(this);
mTabbar.setTabListener(this);
if(mTabbar.getMiddleView()!=null)
mTabbar.getMiddleView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Expand All @@ -91,6 +92,10 @@ public void onTabSelect(int index) {

@Override
public boolean onInterruptSelect(int index) {
// if(index==2){
// //如果这里有需要阻止Tab被选中的话,可以return true
// return true;
// }
return false;
}

Expand Down
1 change: 0 additions & 1 deletion app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,5 @@
android:background="@drawable/tab_bg"
jp:TabMiddleView="@layout/view_mitem"
jp:TabAnimate="Scale"
jp:TabPressAnimateEnable="false"
/>
</RelativeLayout>
2 changes: 1 addition & 1 deletion library/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ publish {
userOrg = 'peng83508440'//bintray.com用户名
groupId = 'com.jpeng'//jcenter上的路径
artifactId = 'JPTabBar'//项目名称
publishVersion = '1.3.5'//版本号
publishVersion = '1.4.0'//版本号
desc = 'The library can make you build the TabBar more quicky,It contains many animate,and implements the filter like WeChat.'
licences = ['Apache-2.0']
}

0 comments on commit d6abb7d

Please sign in to comment.