工具栏菜单(Toolbar)小记

2017-01-17  本文已影响0人  向着远方奔跑

创建菜单

@Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        inflater.inflate(R.menu.fragment_crime_list, menu);
}

Fragment.onCreateOptionsMenu(Menu, MenuInflater)方法是由FragmentManager负责调用的,当Activity接受操作系统的onCreateOptionsMenu(...)方法回调请求时,必须明确告诉FragmentManager:其管理的fragment应接收onCreateOptionsMenu(...)方法的调用指令,需在fragment中加入以下方法:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true);
}

响应菜单项选择

用户点击菜单项时,fragment会收到onOptionsItemSelected(MenuItem)方法的回调请求,实现菜单项响应结果直接覆写onOptionsItemSelected(MenuItem)方法

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        return super.onOptionsItemSelected(item);
    }

注意onOptionsItemSelected(MenuItem)方法返回的是布尔值,一旦完成菜单项事件处理,应返回true值以表明全部任务已完成

实现层级式导航

层级式导航可在应用内逐级向上导航,只需在AndroidManifest.xml中给需要向上逐级导航的Activity添加parentActivityName属性:

<activity
       android:name=".CrimePagerActivity"
       android:label="@string/app_name"
       android:parentActivityName=".CrimeListActivity"
       ></activity>
上一篇下一篇

猜你喜欢

热点阅读