1.创建menu文件夹:在res目录右击——new——Directory,然后输入“menu” ,点击ok
2.创建menu资源文件:menu右击——new——menu resource file——main
main文件如下:
<item android:id="@+id/add_item" android:title="@string/add_item"/>
<item android:id="@+id/remove_item" android:title="@string/remove_item"/>
</menu>
3.menu的使用:重写onCreatOptionsMenu()方法
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.main,menu)
return true
}
这段代码比较难理解menuInflater,先看kotlin中的数据类,不需要通过set和get,而是直接对字段进行赋值,如:
val book=Book()
val page=book.page
menuInflater是使用了父类的getMenuInflater()方法能够获取一个menuInflater对象,在调用inflate()方法
4.定义菜单响应事件重写onOptinsItemSelected(item:MenuItem)
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId){
R.id.add_item -> Toast.makeText(this,"add",Toast.LENGTH_LONG).show()
R.id.remove_item -> Toast.makeText(this,"remove",Toast.LENGTH_LONG).show()
}
return true
}
![](https://img.haomeiwen.com/i12100027/842e7a0a47be15fd.png)
网友评论