在很多APP裏面,經常會看到未讀消息的小紅點,如下圖:
這個功能用到的是一個控件,叫做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>