android support v7包自带的ActionBarActivity的配置
完整类名:android.support.v7.app.ActionBarActivity;
ActionBarActivity被废了,以前的老项目还在用,记录下配置
- 左边显示
//设置标题
getSupportActionBar().setTitle("聊天");
//actionbar 添加logo
getSupportActionBar().setLogo(R.drawable.de_bar_logo);
//左侧可点击
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//设置左边图片
getSupportActionBar().setHomeAsUpIndicator(R.drawable.de_actionbar_back);
效果图:
- 右边显示
menu显示在actionbar上
可以参考:ActionBar和menu菜单 - try - CSDN博(https://blog.csdn.net/chen364567628/article/details/52803563)
继承android.support.v7.app.ActionBarActivity的类中设置:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
this.mMenu = menu;
inflater.inflate(R.menu.de_main_menu, menu);
if (hasNewFriends) {
mMenu.getItem(0).setIcon(getResources().getDrawable(R.drawable.de_ic_add_hasmessage));
mMenu.getItem(0).getSubMenu().getItem(1).setIcon(getResources().getDrawable(R.drawable.de_btn_main_contacts_select));
} else {
mMenu.getItem(0).setIcon(getResources().getDrawable(R.drawable.de_ic_add));
mMenu.getItem(0).getSubMenu().getItem(1).setIcon(getResources().getDrawable(R.drawable.de_btn_main_contacts));
}
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.add_item1://发起聊天
startActivity(new Intent(this, FriendListActivity.class));
break;
// case R.id.add_item2://选择群组
//
// if (RongIM.getInstance() != null)
// RongIM.getInstance().startSubConversationList(this, Conversation.ConversationType.GROUP);
// break;
case R.id.add_item3://通讯录
startActivity(new Intent(MainActivity.this, ContactsActivity.class));
break;
case R.id.set_item1://我的账号
startActivity(new Intent(MainActivity.this, MyAccountActivity.class));
break;
case R.id.set_item2://新消息提醒
startActivity(new Intent(MainActivity.this, NewMessageRemindActivity.class));
break;
case R.id.set_item3://隐私
startActivity(new Intent(MainActivity.this, PrivacyActivity.class));
break;
case R.id.set_item4://关于融云
startActivity(new Intent(MainActivity.this, AboutRongCloudActivity.class));
break;
case R.id.set_item5://退出
final AlertDialog.Builder alterDialog = new AlertDialog.Builder(this);
alterDialog.setMessage("确定退出应用?");
alterDialog.setCancelable(true);
alterDialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//do something
}
});
alterDialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
alterDialog.show();
break;
}
return super.onOptionsItemSelected(item);
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_add_conversation"
android:icon="@drawable/de_ic_add"
android:title="@string/action_settings"
app:showAsAction="ifRoom|withText">
<menu>
<item
android:id="@+id/add_item1"
android:icon="@drawable/de_btn_main_chat"
android:title="@string/add_chat" />
<!--<item-->
<!--android:id="@+id/add_item2"-->
<!--android:icon="@drawable/de_btn_main_groups"-->
<!--android:title="@string/add_select_group" />-->
<item
android:id="@+id/add_item3"
android:icon="@drawable/de_btn_main_contacts"
android:title="@string/add_contacts" />
</menu>
</item>
<item
android:id="@+id/action_settings"
android:icon="@drawable/de_ic_set"
android:orderInCategory="100"
android:title="@string/set_set"
app:showAsAction="ifRoom|withText">
<menu>
<item
android:id="@+id/set_item1"
android:icon="@drawable/de_btn_main_personal_information"
android:title="@string/set_personal_information" />
<item
android:id="@+id/set_item2"
android:icon="@drawable/de_btn_main_news_reminded"
android:title="@string/set_news_reminded" />
<item
android:id="@+id/set_item3"
android:icon="@drawable/de_btn_main_privacy"
android:title="@string/set_privacy" />
<item
android:id="@+id/set_item4"
android:icon="@drawable/de_btn_main_rongcloud"
android:title="@string/set_rongcloud" />
<item
android:id="@+id/set_item5"
android:icon="@drawable/de_btn_main_sign_out"
android:title="@string/set_logout" />
</menu>
</item>
</menu>
重点是:这两句话必须:menu显示在actionbar上:
android:title="@string/action_settings"
app:showAsAction="ifRoom|withText
效果图:
点击加号
点击设置:
参考:融云demo源码