You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将退出图标放置在Android ActionBar右侧?

解决方法

你当前用的setHomeAsUpIndicator是用来设置ActionBar左侧的导航返回图标,所以图标肯定会出现在左边。要把退出登录图标放到右侧,得通过创建自定义菜单来实现,步骤如下:

  1. 创建菜单布局文件
    在res/menu目录下新建一个菜单文件(比如命名为menu_logout.xml),内容如下:
<?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_logout"
        android:icon="@drawable/ic_cerrar"
        android:title="退出登录"
        app:showAsAction="always" /> <!-- 设置为始终显示图标 -->
</menu>
  1. 在Activity中加载菜单
    重写onCreateOptionsMenu方法,加载刚才创建的菜单:
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
    menuInflater.inflate(R.menu.menu_logout, menu)
    return true
}
  1. 处理菜单点击事件
    修改你的onOptionsItemSelected方法,替换成处理退出菜单项的逻辑:
override fun onOptionsItemSelected(item: MenuItem): Boolean {
    return when (item.itemId) {
        R.id.action_logout -> {
            cierre() // 执行你的退出登录逻辑
            true
        }
        else -> super.onOptionsItemSelected(item)
    }
}
  1. 移除原有左侧图标代码
    把你之前写的这些代码删掉:
// 这些代码要删掉
supportActionBar?.setHomeAsUpIndicator(R.drawable.ic_cerrar)
supportActionBar?.setHomeButtonEnabled(true)
supportActionBar?.setDisplayHomeAsUpEnabled(true)

这样设置后,退出登录图标就会显示在ActionBar的右侧了。

内容的提问来源于stack exchange,提问作者Hugo Jiménez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:35:09