第一步:
在res目录下的menu目录下,新建自己的菜单文件,如下
<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="com.carlos.myapplication.MainActivity">
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_settings"
app:showAsAction="never" />
<item
android:id="@+id/history"
android:title="历史"
app:showAsAction="never"/>
</menu>
大家可以看这段代码,
tools:context="com.carlos.myapplication.MainActivity">
这一行是自己的activity的类名,然后,在对应的activity中,
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.calendar) {
return true;
}
return super.onOptionsItemSelected(item);
}
重写这两个方法,大家可以看到,
getMenuInflater().inflate(R.menu.menu_main, menu);
这一行,初使化的是自己定义的那个menu文件,然后,在onOptionsItemSelected方法中,就可以根据Id,来做选择了,
这个代码运行的效果如下:
如果想在toolbar上添加自己的按钮,如下:
<item
android:id="@+id/calendar"
android:icon="@mipmap/ic_launcher"
android:orderInCategory="90"
android:title="选择日期"
app:showAsAction="ifRoom" />
最后效果:
源代码地下如下: