gpt4 book ai didi

android - 如何隐藏 ActionBar 中的 ChromeCast MediaRoute MenuItem?

转载 作者:行者123 更新时间:2023-11-30 02:56:53 25 4
gpt4 key购买 nike

我正在尝试在 ChromeCast 应用程序的上下文中使用 ActionBar 设置搜索界面(使用来自 CastCompanionLibrary 和 VideoBrowserActivity git 项目的代码)。我需要一种隐藏 ChromeCast MediaRoute MenuItem(简称 ChromeCast 按钮)的方法。它并列在搜索图标旁边,当用户点击搜索图标时,ChromeCast 按钮应该消失,以便扩展搜索 View (尽可能多的 ActionBar)。

首先,定义我的 ActionBar 的 XML 如下所示。

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
...
<item android:id="@+id/media_route_menu_item"
android:title="@string/media_route_menu_title"
app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
app:showAsAction="always"/>
<item android:id="@+id/action_search"
android:title="@string/action_search"
android:icon="@drawable/ic_action_search"
android:actionViewClass="android.widget.SearchView"
app:showAsAction="always"/>
</menu>

然后,在我的 Activity (ActionBarActivity 的子类)中,我按如下方式创建菜单。

public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflator().inflate(R.menu.main, menu);
MenuItem miSearch = menu.findItem(R.id.action_search);
SearchView view = (SearchView)miSearch.getActionView();
SearchManager searchManager = (SearchManager)getSystemService(Context.SEARCH_SERVICE);
view.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
mediaRouteMenuItem = mCastManager.addMediaRouterButton(menu, R.id.media_route_menu_item);
return true;
}

我尝试如下隐藏 MediaRoute 菜单项(此方法取自另一篇 SO 帖子)。

public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.action_search:
mediaRouteMenuItem.setVisible(false);
invalidateOptionsMenu();
return true;
}
}

但是,当用户单击搜索图标时,MediaRoute 菜单项仍然可见。

  • 如果知道(如果可以隐藏 ChromeCast 按钮)如何在用户取消搜索操作时再次显示该按钮,那就太好了。

感谢任何帮助。

最佳答案

我认为您所看到的(或现在看到的)是由 Action 提供者/ Action 类的顺序决定的。展开的可折叠操作 View 将占据操作栏末尾的空间,但不会破坏它之前的内容。因此,将 SearchView 放在首位将让它占据整个栏。

关于android - 如何隐藏 ActionBar 中的 ChromeCast MediaRoute MenuItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23122020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com