未读消息的红点显示

在很多APP里面,经常会看到未读消息的小红点,如下图:

未读消息的红点显示_第1张图片

这个功能用到的是一个控件,叫做BadgeView。
BadgeView的用法很简单,直接把jar文件导入包中就可以使用,使用也很简单,

                    badgeView = new BadgeView(this);
                    //btn是控件
                    badgeView.setTargetView(btn);
                    //设置相对位置
                    badgeView.setBadgeMargin(0, 5, 15, 0);
                    //设置显示未读消息条数
                    badgeView.setBadgeCount(2);

BadgeView可以在任意控件上使用。但是在Radiobutton构成的底部导航里面,如果直接在Radiobutton上使用的话,会使Radiobutton的点击失效。
解决办法就是,在Radiobutton上加一层布局,然后布局设置为不可点击,我这里用的是button。
布局只是用来显示未读消息个数。
布局代码:

              <RadioGroup
                android:id="@+id/main_radio"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:background="#121212"
                android:gravity="center_vertical"
                android:orientation="horizontal">

                <RadioButton
                    android:id="@+id/radio_button0"
                    style="@style/main_tab_bottom"
                    android:layout_marginTop="5.0dip"
                    android:drawableTop="@drawable/home_btn_1"
                    android:text="@string/main_home"
                    android:textColor="@drawable/color_radiobtton"
                    android:textSize="10.0sp" />
            RadioGroup>


            
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="50dp"
                android:background="#00000000"
                android:orientation="horizontal"
                >
                <Button
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="1"
                    android:clickable="false"
                    android:background="#00000000" />
            LinearLayout>

包的下载链接:
http://download.csdn.net/detail/hebin320320/9395599

你可能感兴趣的:(【Android工具类】)