Kotlin: ¿Cómo hacer el menu de la barra de herramientas con Anko DSL?

¿Cómo hacer que el menu de la barra de herramientas de Android con Anko DSL directamente en la class de UI? No quiero escribir oyentes en mi class de Actividad.

En cuanto a mi respuesta dada a continuación, ¿hay alguna manera de evitar el file XML recource para describir los elementos del menu?

    En el file AndroidManifest.xml , select el tema sin ActionBar

    Cree su file de resources XML de menu como de costumbre:

    <menu ...> <item android:id="@+id/action1" android:title="Action1"/> <item android:id="@+id/action2" android:title="Action2"/> </menu> 

    Para cada elemento en el menu crea tus actividades personalizadas

    Crea la class de actividad principal:

     class ActivityMain : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ActivityMainUI().setContentView(this) //do not use setActionBar() or setSupportActionBar() } // do not override onOptionsItemSelected() and onCreateOptionsMenu() here } class ActivityMainUi: AnkoComponent<ActivityMain> { override fun createView(ui: AnkoContext<ActivityMain>) = with(ui) { coordinatorLayout { // justify layout appBarLayout { toolbar { // justify your toolbar inflateMenu(R.menu.your_menu_xml_resource) onMenuItemClick { item -> when (item!!.itemId) { R.id.action_1 -> { startActivity<Activity1>() true } R.id.action_2 -> { startActivity<Activity2>() true } else -> false } } }.lparams(width = matchParent, height = wrapContent) }.lparams(width = matchParent, height = wrapContent) // put other views } } }