Kotlin-向ActionBar添加操作按钮

Tor*_*o36 2 kotlin android-actionbar

我是Kotlin的新手,我需要在操作栏中添加操作按钮。我在文件夹res / menu中创建了这个menuTest.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/action_fav"
        android:icon="@drawable/ic_action_edit"
        app:showAsAction="ifRoom"
        android:title="@string/edit" />
</menu>
Run Code Online (Sandbox Code Playgroud)

这是我的layout.xml:

 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout 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"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="DetailItem">

    <ImageView
        android:id="@+id/itemIdImage"
        android:layout_width="358dp"
        android:layout_height="214dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:padding="10dp"
        app:srcCompat="@drawable/logo"
        tools:layout_editor_absoluteX="13dp"
        tools:layout_editor_absoluteY="16dp" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

还有我的Activity.kt

class DetailCar : AppCompatActivity()  {
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity)
    }
}}
Run Code Online (Sandbox Code Playgroud)

Paw*_*ski 5

您需要像这样重写onCreateOptionsMenu函数Activity

override fun onCreateOptionsMenu(menu: Menu): Boolean {
    menuInflater.inflate(R.menu.menuTest, menu)
    return true
}
Run Code Online (Sandbox Code Playgroud)

要处理菜单项上的单击事件,您需要覆盖onOptionsItemSelected

override fun onOptionsItemSelected(item: MenuItem): Boolean = when (item.itemId) {
    R.id.action_fav -> {
        // do stuff
        true
    }
    else -> super.onOptionsItemSelected(item)
}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

3823 次

最近记录:

7 年,7 月 前