我的应用程序的主图标由一个图像中的两个部分组成:徽标和下面的几个字母.这适用于应用程序的启动器图标,但当图标出现在ActionBar的左边缘时,字母会被切断并且看起来不太好.
我想为ActionBar提供一个单独的图标版本,只有"徽标"部分,而不是它下面的字母,但到目前为止一直是空的.老实说,我找不到任何答案,我甚至无法在任何地方找到问题.
Android文档说明app logo在定义时随处可用.但是当搜索视图扩展时,使用应用程序图标而不是应用程序徽标,当搜索视图处于展开状态时,我找不到显示应用程序徽标的方法.
以下是相关部分.
清单文件
<application
android:name="MyApp"
android:allowBackup="true"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:logo="@drawable/app_logo"
android:theme="@style/Theme.MyTheme" >
Run Code Online (Sandbox Code Playgroud)
searchable.xml(设置图标不会改变任何东西)
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:icon="@drawable/app_logo"
android:label="@string/app_name"
android:hint="@string/search_hint" >
</searchable>
Run Code Online (Sandbox Code Playgroud)
menu.xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_search"
android:actionViewClass="com.actionbarsherlock.widget.SearchView"
android:icon="@drawable/ic_search"
android:showAsAction="always|collapseActionView" />
Run Code Online (Sandbox Code Playgroud)
活动代码
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = new SearchView(getSupportActionBar().getThemedContext());
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
menu.findItem(R.id.menu_search).setActionView(searchView);
Run Code Online (Sandbox Code Playgroud)
注意:我使用ABS SearchView但是当我切换到默认的SearchView时会发生同样的事情.
编辑:为了清晰起见,我添加了一些截图.
在这里,我使用app图标的星形图像和app图标的android图像.第一个屏幕截图是活动的默认视图.第二个是我点击搜索按钮时的视图.它显示了android图像,而我希望它是星形图像.


我目前正在为我的应用程序实现主题支持,其中一部分是更改操作栏应用程序图标.选择Holo Light时,我想使用黑色图标.除了设置操作栏应用程序图标的部分外,一切都在方法中完成.我正在尝试使用的代码是:
getActionBar();
ActionBar.setIcon(R.drawable.my_icon);
Run Code Online (Sandbox Code Playgroud)
"这里没有这样的参考"是我得到的错误.该如何正确完成?
顺便说一句,我的动作minSdkVersion是14Sherlock的事情.
我试图将我的主页图标更改为drawable.我使用以下代码:
getSupportActionBar().setIcon(R.drawable.some_image);
Run Code Online (Sandbox Code Playgroud)
这不行!我在我的主题中设置了图像,所以也许这不能被覆盖......
到目前为止,我尝试过姜饼和蜂窝......
从 API 20(“L”?或者可能是 Android Wear?)开始,现在有一个新的,叫做“ banner ”。以下是文档对此的说明:
此组件横幅的可绘制资源标识符(在包的资源中)。来自“横幅”属性,如果未设置,则为 0。
所以这并没有提供太多关于它是什么的线索......
问题是我不知道它是什么,也找不到有关它的任何信息。
我试过在互联网上找到这个,但因为“横幅”是一个通用名称,我没有发现任何有趣的东西......
当然,我也试过在活动文档(这里和这里)上搜索这个,但没有找到任何东西......
它用于哪里?
它适用于 Android "L" 还是 Android Wear?或者两者都有?
谷歌为什么决定这样做?
我在哪里可以阅读它?
是否有任何指导方针?
取决于答案,您认为它会以某种方式成为支持库的一部分吗?
icons android android-manifest graphical-logo android-banner