有时候须要在actionbar menu上显示消息个数,因此能够用BadgeView来实现。 android
实现方法是获取actionbar menuitem的view,而后建立BadgeView。注意,一般只能在Optionsmenu建立完成以后去获取menuitem的view。咱们能够在onCreate方法中延时1秒去处理。 app
<menu xmlns:android="http://schemas.android.com/apk/res/android" ide
xmlns:app="http://schemas.android.com/apk/res-auto" post
xmlns:tools="http://schemas.android.com/tools" ui
tools:context="com.example.demo.MainActivity" > this
<item spa
android:id="@+id/action_settings" xml
android:orderInCategory="100" string
android:title="@string/action_settings" it
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);
}
效果图: