【问题标题】:Why is the toolbar not accepting the showAsAction = "always" attribute of the menu为什么工具栏不接受菜单的 showAsAction = "always" 属性
【发布时间】:2020-09-10 02:33:52
【问题描述】:
 toolbar = (Toolbar) view.findViewById(R.id.toolbar);
 Main2Activity activity = (Main2Activity) getActivity();
 activity.setSupportActionBar(toolbar);
 activity.getSupportActionBar();
 final SearchView searchView = (SearchView) view.findViewById(R.id.action_search);
 toolbar.inflateMenu(R.menu.seacrh_monan);
 toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
     @Override
     public boolean onMenuItemClick(MenuItem item) {
         switch (item.getItemId()){
             case R.id.action_search:
                 Toast.makeText(getActivity(),"Bạn đã nhấn nút tìm kiếm",Toast.LENGTH_SHORT).show();
                 searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
                     @Override
                     public boolean onQueryTextSubmit(String query) {
                         return false;
                     }

                     @Override
                     public boolean onQueryTextChange(String newText) {
                         adapter.getFilter().filter(newText);
                         return false;
                     }
                 });
                 return true;
         }

         return false;
     }
 });
 return view;

}

这是我在 Fragment 中的代码工具栏

我给了我的菜单

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_logout"
 android:title="logout">

</item>
<item
 android:id="@+id/action_search"
 android:title="Search"
 android:icon="@drawable/ic_search_white"
 app:showAsAction="always|collapseActionView|ifRoom"
 app:actionViewClass="androidx.appcompat.widget.SearchView"
 />

这是我的 seacrh_monan.xml

但是当我运行应用程序时,工具栏并不总是从菜单中获取 showAsAction。任何帮助表示赞赏。

【问题讨论】:

  • 工具栏菜单中有多少项。你试过用app:showAsAction = "ifRoom"
  • 我的菜单中有 2 项。我尝试使用该应用程序:showAsAction = "ifRoom" 但失败了。
  • 使用 seacrh_monan.xml 文件代码更新您的问题
  • 工具栏中的菜单资源膨胀后,你看到这两个菜单项了吗?
  • 发布完整的片段代码

标签: android android-fragments android-actionbar android-toolbar


【解决方案1】:

从属性app:showAsAction 中删除ifRoom。或者,如果项目不多,您也可以删除always。请注意,始终显示为操作的菜单项的数量是有限制的。

【讨论】:

    猜你喜欢
    • 2014-04-30
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    相关资源
    最近更新 更多