如何在操作栏的右侧放置图标

How can I put an icon on the right of the action bar

提问人:Hugo Jiménez 提问时间:10/31/2023 更新时间:10/31/2023 访问量:38

问:

我想添加一个用于注销的图标,但是当我包含以下代码时,图标显示在左侧,并且我对它显示在右侧感兴趣,这是我的代码:

// Icon
        supportActionBar?.setHomeAsUpIndicator(R.drawable.ic_cerrar)
        
//listener
        supportActionBar?.setHomeButtonEnabled(true)
        supportActionBar?.setDisplayHomeAsUpEnabled(true)

        supportActionBar?.setHomeAsUpIndicator(R.drawable.ic_cerrar)
override fun onOptionsItemSelected(item: MenuItem): Boolean {
        return when (item.itemId) {
            android.R.id.home -> {
                // Maneja la acción del botón en la ActionBar aquí
                // Por ejemplo, para cerrar la actividad, puedes usar:
                //finish()
                cierre()
                true
            }
            else -> super.onOptionsItemSelected(item)
        }
    }
Android Kotlin 移动 android-actionbar

评论

0赞 Pawan Harariya 10/31/2023
这是因为您正在使用左侧出现的主页按钮。相反,您应该添加一个溢出菜单,该菜单显示在右侧,带有 .在此处参考本教程showAsAction='always'
0赞 Hugo Jiménez 10/31/2023
那奏效了,非常感谢!!

答:

0赞 Hugo Jiménez 10/31/2023 #1

正如 Pawan Harariya 所说,我需要添加以下代码:

menu_mail.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"
    xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">

    <item
        android:id="@+id/cerrar"
        android:icon="@drawable/ic_cerrar"
        app:showAsAction="always"
        android:title="Cierre Sesión"/>
</menu>

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        menuInflater.inflate(R.menu.menu_main, menu)
        return true
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        when (item.itemId) {
            R.id.cerrar -> {
                cierre()
                return true
            }
            else -> super.onOptionsItemSelected(item)
        }
        return super.onOptionsItemSelected(item)
    }