From e4c8b3d0941f4501646c0d856d0eee511da1dc76 Mon Sep 17 00:00:00 2001 From: chaychan <844738237@qq.com> Date: Sun, 10 Sep 2017 13:47:03 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E6=9C=AA=E8=AF=BB=E6=95=B0=E3=80=81=E6=8F=90=E7=A4=BA=E5=B0=8F?= =?UTF-8?q?=E7=BA=A2=E7=82=B9=E3=80=81=E6=8F=90=E7=A4=BA=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bottombarlayout/MainActivity.java | 5 ++ library/build.gradle | 2 +- .../com/chaychan/library/BottomBarItem.java | 66 +++++++++++++++++-- .../com/chaychan/library/BottomBarLayout.java | 42 ++++++++++++ .../main/res/drawable/shape_notify_point.xml | 9 +++ .../src/main/res/drawable/shape_unread.xml | 6 ++ .../src/main/res/layout/item_bottom_bar.xml | 60 +++++++++++++++-- library/src/main/res/values/attr.xml | 4 ++ library/src/main/res/values/colors.xml | 1 + 9 files changed, 181 insertions(+), 14 deletions(-) create mode 100644 library/src/main/res/drawable/shape_notify_point.xml create mode 100644 library/src/main/res/drawable/shape_unread.xml diff --git a/demo/src/main/java/com/chaychan/bottombarlayout/MainActivity.java b/demo/src/main/java/com/chaychan/bottombarlayout/MainActivity.java index f416d64..105e4c6 100644 --- a/demo/src/main/java/com/chaychan/bottombarlayout/MainActivity.java +++ b/demo/src/main/java/com/chaychan/bottombarlayout/MainActivity.java @@ -113,6 +113,11 @@ public void run() { cancelTabLoading(bottomItem);//停止旋转动画 } }); + + mBottomBarLayout.setUnread(0,20);//设置第一个页签的未读数为20 + mBottomBarLayout.setUnread(1,101);//设置第二个页签的未读书 + mBottomBarLayout.showNotify(2);//设置第三个页签显示提示的小红点 + mBottomBarLayout.setMsg(3,"NEW");//设置第四个页签显示NEW提示文字 } /**停止首页页签的旋转动画*/ diff --git a/library/build.gradle b/library/build.gradle index 841548e..90c8b69 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -22,7 +22,7 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) + compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) diff --git a/library/src/main/java/com/chaychan/library/BottomBarItem.java b/library/src/main/java/com/chaychan/library/BottomBarItem.java index 5e92a1b..a11edd9 100644 --- a/library/src/main/java/com/chaychan/library/BottomBarItem.java +++ b/library/src/main/java/com/chaychan/library/BottomBarItem.java @@ -5,6 +5,7 @@ import android.graphics.drawable.Drawable; import android.support.annotation.Nullable; import android.util.AttributeSet; +import android.util.TypedValue; import android.view.Gravity; import android.view.View; import android.widget.ImageView; @@ -12,7 +13,6 @@ import android.widget.TextView; - /** * @author ChayChan * @description: 底部tab条目 @@ -35,9 +35,15 @@ public class BottomBarItem extends LinearLayout { private int mIconHeight;//图标的高度 private int mItemPadding;//BottomBarItem的padding - private TextView mTextView; + private ImageView mImageView; + private TextView mTvUnread; + private TextView mTvNotify; + private TextView mTvMsg; + private TextView mTextView; + private int mUnreadTextSize = 10; //未读数默认字体大小10sp + private int mMsgTextSize = 6; //消息默认字体大小6sp public BottomBarItem(Context context) { @@ -73,6 +79,9 @@ public BottomBarItem(Context context, @Nullable AttributeSet attrs, int defStyle mIconHeight = ta.getDimensionPixelSize(R.styleable.BottomBarItem_iconHeight, 0); mItemPadding = ta.getDimensionPixelSize(R.styleable.BottomBarItem_itemPadding, 0); + mUnreadTextSize = ta.getDimensionPixelSize(R.styleable.BottomBarItem_unreadTextSize, UIUtils.sp2px(mContext,mUnreadTextSize)); + mMsgTextSize = ta.getDimensionPixelSize(R.styleable.BottomBarItem_msgTextSize, UIUtils.sp2px(mContext,mMsgTextSize)); + ta.recycle(); checkValues(); @@ -107,9 +116,11 @@ private void init() { view.setPadding(mItemPadding,mItemPadding,mItemPadding,mItemPadding); } mImageView = (ImageView) view.findViewById(R.id.iv_icon); + mTvUnread = (TextView) view.findViewById(R.id.tv_unred_num); + mTvMsg = (TextView) view.findViewById(R.id.tv_msg); + mTvNotify = (TextView) view.findViewById(R.id.tv_point); mTextView = (TextView) view.findViewById(R.id.tv_text); - mImageView.setImageResource(mIconNormalResourceId); if (mIconWidth != 0 && mIconHeight != 0){ @@ -120,9 +131,12 @@ private void init() { mImageView.setLayoutParams(imageLayoutParams); } - mTextView.getPaint().setTextSize(mTextSize); - mTextView.setText(mText); - mTextView.setTextColor(mTextColorNormal); + mTextView.setTextSize(TypedValue.COMPLEX_UNIT_PX,mTextSize);//设置底部文字字体大小 + mTvUnread.setTextSize(TypedValue.COMPLEX_UNIT_PX,mUnreadTextSize);//设置未读数的字体大小 + mTvMsg.setTextSize(TypedValue.COMPLEX_UNIT_PX,mMsgTextSize);//设置提示文字的字体大小 + + mTextView.setTextColor(mTextColorNormal);//设置底部文字字体颜色 + mTextView.setText(mText);//设置标签文字 LayoutParams textLayoutParams = (LayoutParams) mTextView.getLayoutParams(); textLayoutParams.topMargin = mMarginTop; @@ -156,4 +170,44 @@ public void setStatus(boolean isSelected){ mImageView.setImageResource(isSelected?mIconSelectedResourceId:mIconNormalResourceId); mTextView.setTextColor(isSelected?mTextColorSelected:mTextColorNormal); } + + private void setTvVisiable(TextView tv){ + //都设置为不可见 + mTvUnread.setVisibility(GONE); + mTvMsg.setVisibility(GONE); + mTvNotify.setVisibility(GONE); + + tv.setVisibility(VISIBLE);//设置为可见 + } + + /** + * 设置未读数 + * @param unreadNum 小于等于0则隐藏,大于0小于99则显示对应数字,超过99显示99+ + */ + public void setUnreadNum(int unreadNum){ + setTvVisiable(mTvUnread); + if (unreadNum <= 0){ + mTvUnread.setVisibility(GONE); + }else if (unreadNum <= 99){ + mTvUnread.setText(String.valueOf(unreadNum)); + }else{ + mTvUnread.setText("99+"); + } + } + public void setMsg(String msg){ + setTvVisiable(mTvMsg); + mTvMsg.setText(msg); + } + + public void hideMsg(){ + mTvMsg.setVisibility(GONE); + } + + public void showNotify(){ + setTvVisiable(mTvNotify); + } + + public void hideNotify(){ + mTvNotify.setVisibility(GONE); + } } diff --git a/library/src/main/java/com/chaychan/library/BottomBarLayout.java b/library/src/main/java/com/chaychan/library/BottomBarLayout.java index 337d8a6..7858c37 100644 --- a/library/src/main/java/com/chaychan/library/BottomBarLayout.java +++ b/library/src/main/java/com/chaychan/library/BottomBarLayout.java @@ -136,6 +136,48 @@ public void setCurrentItem(int currentItem) { mViewPager.setCurrentItem(mCurrentItem,mSmoothScroll); } + /** + * 设置未读数 + * @param position 底部标签的下标 + * @param unreadNum 未读数 + */ + public void setUnread(int position,int unreadNum){ + mItemViews.get(position).setUnreadNum(unreadNum); + } + + /** + * 设置提示消息 + * @param position 底部标签的下标 + * @param msg 未读数 + */ + public void setMsg(int position,String msg){ + mItemViews.get(position).setMsg(msg); + } + + /** + * 隐藏提示消息 + * @param position 底部标签的下标 + */ + public void hideMsg(int position){ + mItemViews.get(position).hideMsg(); + } + + /** + * 显示提示的小红点 + * @param position 底部标签的下标 + */ + public void showNotify(int position){ + mItemViews.get(position).showNotify(); + } + + /** + * 隐藏提示的小红点 + * @param position 底部标签的下标 + */ + public void hideNotify(int position){ + mItemViews.get(position).hideNotify(); + } + public int getCurrentItem() { return mCurrentItem; } diff --git a/library/src/main/res/drawable/shape_notify_point.xml b/library/src/main/res/drawable/shape_notify_point.xml new file mode 100644 index 0000000..9507100 --- /dev/null +++ b/library/src/main/res/drawable/shape_notify_point.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/library/src/main/res/drawable/shape_unread.xml b/library/src/main/res/drawable/shape_unread.xml new file mode 100644 index 0000000..8290ce8 --- /dev/null +++ b/library/src/main/res/drawable/shape_unread.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/library/src/main/res/layout/item_bottom_bar.xml b/library/src/main/res/layout/item_bottom_bar.xml index 78f25ba..e7ca1a5 100644 --- a/library/src/main/res/layout/item_bottom_bar.xml +++ b/library/src/main/res/layout/item_bottom_bar.xml @@ -1,18 +1,64 @@ - + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/library/src/main/res/values/colors.xml b/library/src/main/res/values/colors.xml index 73bb0c1..caa2a19 100644 --- a/library/src/main/res/values/colors.xml +++ b/library/src/main/res/values/colors.xml @@ -1,5 +1,6 @@ #ffffff + #ff0000 #DDDDDD \ No newline at end of file From 63b497918e8abda3b0fac141e576b0c0ec00de0f Mon Sep 17 00:00:00 2001 From: chaychan <844738237@qq.com> Date: Sun, 10 Sep 2017 14:00:15 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 79 +++++++++++++++++++++++++++++++----------------- intro_img/4.png | Bin 0 -> 21700 bytes 2 files changed, 51 insertions(+), 28 deletions(-) create mode 100644 intro_img/4.png diff --git a/README.md b/README.md index e097a8d..a9dbe76 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,43 @@ ![](./intro_img/display1.gif) +####显示未读数、提示小红点、提示消息 + +![](./intro_img/4.png) ### BottomBarLayout的使用 +#### BottomBarItem属性介绍 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #### 布局文件中配置 在xml文件中,配置BottomBarLayout,包裹子条目BottomBarItem @@ -94,33 +128,6 @@ -#### BottomBarItem属性介绍 - - - - - - - - - - - - - - - - - - - - - - - - - - #### java文件中设置 找过对应的ViewPager和BottomBarLayout,为ViewPager设置Adapter,然后为BottomBarLayout设置ViewPager @@ -149,6 +156,22 @@ } }); +#### 显示未读数、提示小红点、提示消息 + + mBottomBarLayout.setUnread(0,20);//设置第一个页签的未读数为20 + mBottomBarLayout.setUnread(1,101);//设置第二个页签的未读书 + mBottomBarLayout.showNotify(2);//设置第三个页签显示提示的小红点 + mBottomBarLayout.setMsg(3,"NEW");//设置第四个页签显示NEW提示文字 + +当设置的未读数小于或等于0时,消失未读数的小红点将会消失; +当未读数为1-99时,则显示对应的数字; +当未读数大于99时,显示99+; + +#### 隐藏提示小红点、提示消息 + + mBottomBarLayout.hideNotify(2);//隐藏第三个页签显示提示的小红点 + mBottomBarLayout.hideMsg(3);//隐藏第四个页签显示的提示文字 + #### BottomBarItem的介绍   BottomBarItem继承于LinearLayout,其子View有显示图标的ImageView和展示文字的TextView,分别可以通过getImageView()和getTextView()方法获取到对应的子控件。github上不少底部导航栏的控件都没能获取到对应的子控件,所以在需要对子控件进行操作的时候极不方便,有一些的思路并不是用ImageView和TextView,而是用绘制的,所以也不能获取到对应的显示图标的控件或展示文字的控件,造成无法获取到该控件,无法进行一些业务上的操作,比如类似今日头条的底部的首页,点击首页的页签,会更换成加载中的图标,执行旋转动画,BottomBarLayout可以轻松地做到这个需求。 @@ -233,7 +256,7 @@ 打开app的module中的build.gradle,在dependencies{}中,添加依赖,如下: dependencies { - compile 'com.github.chaychan:BottomBarLayout:1.0.2' + compile 'com.github.chaychan:BottomBarLayout:1.0.3' } diff --git a/intro_img/4.png b/intro_img/4.png new file mode 100644 index 0000000000000000000000000000000000000000..b0581f59165ac07a40d2c3f09553792b014c2391 GIT binary patch literal 21700 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 Date: Wed, 13 Sep 2017 23:00:10 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9B=B4=E6=94=B9?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E5=A4=A7=E5=B0=8F=E5=87=BA=E7=8E=B0=E7=9A=84?= =?UTF-8?q?BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/src/main/java/com/chaychan/library/BottomBarItem.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/chaychan/library/BottomBarItem.java b/library/src/main/java/com/chaychan/library/BottomBarItem.java index a11edd9..aa8169b 100644 --- a/library/src/main/java/com/chaychan/library/BottomBarItem.java +++ b/library/src/main/java/com/chaychan/library/BottomBarItem.java @@ -8,6 +8,7 @@ import android.util.TypedValue; import android.view.Gravity; import android.view.View; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; @@ -125,7 +126,7 @@ private void init() { if (mIconWidth != 0 && mIconHeight != 0){ //如果有设置图标的宽度和高度,则设置ImageView的宽高 - LayoutParams imageLayoutParams = (LayoutParams) mImageView.getLayoutParams(); + FrameLayout.LayoutParams imageLayoutParams = (FrameLayout.LayoutParams) mImageView.getLayoutParams(); imageLayoutParams.width = mIconWidth; imageLayoutParams.height = mIconHeight; mImageView.setLayoutParams(imageLayoutParams); From e4ab5a5f1ec3c62200bd664e9a8e0b192c7413ce Mon Sep 17 00:00:00 2001 From: chaychan <844738237@qq.com> Date: Wed, 13 Sep 2017 23:03:36 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a9dbe76..c82c723 100644 --- a/README.md +++ b/README.md @@ -256,7 +256,7 @@ 打开app的module中的build.gradle,在dependencies{}中,添加依赖,如下: dependencies { - compile 'com.github.chaychan:BottomBarLayout:1.0.3' + compile 'com.github.chaychan:BottomBarLayout:1.0.4' }