如何在android中找到系统Action Bar中存在的不同图标的宽度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在android中找到系统Action Bar中存在的不同图标的宽度相关的知识,希望对你有一定的参考价值。

我需要在单击操作栏中展开时调整搜索空间的大小,但为此我需要知道操作栏中存在的空宽度。我没有找到任何方法来检测动作栏中的空白区域。请帮我

当我点击搜索图标时,操作栏的标题缩小了,所以要解决这个问题我需要设置maxwidth搜索图标(当它展开时)并设置maxwidth我需要操作栏中的空白区域。

- >我试过collapseActionView,但这是给文字而不是图标。

public boolean onCreateOptionsMenu(Menu menu) 
{
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.split_pane_menu, menu);

    mActionBarMenu = menu;

    MenuItem searchItem = menu.findItem(R.id.split_pane_search);
    mSearchView = (SearchView) searchItem.getActionView();

    ***mSearchView.setMaxWidth(500);***  <----- to set this value , I need to know how much free space is there in action bar
    ----
    ----
}

请帮帮我

答案

如果在XML中指定菜单操作元素,则可以为每个元素分配ID。然后在代码中,您可以使用findViewById获取对其视图的引用。

   <menu xmlns:android="http://schemas.android.com/apk/res/android" >
        <item android:id="@+id/action_search"
              android:icon="@drawable/ic_action_search"
              android:title="@string/action_search"
              android:showAsAction="ifRoom" />
        <item android:id="@+id/action_settings"
              android:title="@string/action_settings"
              android:showAsAction="never" />
    </menu>

您可以将项目的layout_width设置为“match_parent”或“fill_parent”,而不是确定actionBar中的剩余空间,并获得相同的效果。

以上是关于如何在android中找到系统Action Bar中存在的不同图标的宽度的主要内容,如果未能解决你的问题,请参考以下文章

Android: Action Bar的使用

(Android UI)Action Bar

隐藏Android Action Bar解决方案

渲染期间的android studio sdk 22版异常:action_bar

Action Bar

新的 Android Material 设计中的 Action Bar(Toolbar) 图标应该有多大?