v7自带Actionbar 的配置

android support v7包自带的ActionBarActivity的配置
完整类名:android.support.v7.app.ActionBarActivity;

ActionBarActivity被废了,以前的老项目还在用,记录下配置

  1. 左边显示
 //设置标题
 getSupportActionBar().setTitle("聊天");
 //actionbar 添加logo
 getSupportActionBar().setLogo(R.drawable.de_bar_logo);
 //左侧可点击
 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 //设置左边图片
 getSupportActionBar().setHomeAsUpIndicator(R.drawable.de_actionbar_back);

效果图:
在这里插入图片描述


  1. 右边显示
    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源码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值