有时候需要在actionbar menu上显示消息个数,所以可以用BadgeView来实现。
实现方法是获取actionbar menuitem的view,然后创建BadgeView。注意,通常只能在Optionsmenu创建完成之后去获取menuitem的view。我们可以在onCreate方法中延时1秒去处理。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.demo.MainActivity" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="always"/>
</menu>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
View view = findViewById(R.id.action_setting);
badgeview = new BadgeView(MainActivity.this, view);
badgeview.setText("1");
badgeview.show();
}
}, 1000);
}
效果图:
用BadgeView在actionbar menu上显示提醒信息
原文:http://my.oschina.net/u/1402271/blog/341210