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

问题描述 投票:-1回答:1

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

当我点击搜索图标时,操作栏的标题缩小了,所以要解决这个问题我需要设置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
    ----
    ----
}

请帮帮我

android android-actionbar
1个回答
0
投票

如果在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中的剩余空间,并获得相同的效果。

© www.soinside.com 2019 - 2024. All rights reserved.