我正在使用Android tutorial,无法将搜索图标显示在我的操作栏中。
我不确定我错过了什么,但我很新,所以我不知道该往哪里看。
这是我的main_activity_actions.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:showAsAction="always" />
<!-- Settings, hsould awlays be in teh overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
</menu>
这是在我的MainActivity.java
文件中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
我已下载ic_action_search.png
个文件并将它们放入以下各自的目录中:
/home/user/workspace/MyFirstApp/res/drawable-hdpi
/home/user/workspace/MyFirstApp/res/drawable-mdpi
/home/user/workspace/MyFirstApp/res/drawable-xhdpi
/home/user/workspace/MyFirstApp/res/drawable-xxhdpi
当我通过Eclipse运行应用程序时,我确实在logcat控制台中看到以下错误,但我不确定它们是否指的是png文件?
<snip>
05-11 21:51:17.823: I/Adreno200-EGLSUB(32725): <ConfigWindowMatch:2087>: Format RGBA_8888.
05-11 21:51:17.833: D/memalloc(32725): ion: Mapped buffer base:0x506af000 size:1949696 offset:0 fd:59
05-11 21:51:17.833: E/(32725): Can't open file for reading
05-11 21:51:17.833: E/(32725): Can't open file for reading
05-11 21:51:17.843: D/OpenGLRenderer(32725): Enabling debug mode 0
<snip>
我还可以在哪里查看以确定搜索图标不会出现在操作栏中的原因?
**编辑**
根据以下jay的建议,我已将main_activity_actions.xml
更改为以下内容。这会将字符串值放入操作栏,但不会放入图标。 android知道自动查看图像文件夹吗?
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto">
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
yourapp:icon="@drawable/ic_action_search"
android:title="@string/action_search"
yourapp:showAsAction="always" />
<!-- Settings, hsould awlays be in teh overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
</menu>
答案 0 :(得分:1)
如果您错过了xmlns:yourapp="http://schemas.android.com/apk/res-auto"
此行到您的菜单,那么图片无法检查它。
答案 1 :(得分:0)
我也有这个问题,同时尝试按照教程。我尝试了所有显示的解决方案,包括添加
xmlns:yourapp="http://schemas.android.com/apk/res-auto"
没有任何效果。我的图标仍然不会显示在ActionBar中我最终注意到的是该教程有3个版本的styles.xml文件,而我的项目只有一个styles.xml。
其他样式是:res(values.xml)在res \ values-v11文件夹中:
<resources>
<!--
Base application theme for API 11+. This theme completely replaces
AppBaseTheme from res/values/styles.xml on API 11+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
<!-- API 11 theme customizations can go here. -->
</style>
这就是res \ values-v14文件夹:
<resources>
<!--
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
</style>
当我将这两个文件放在我的res文件夹中时,它有效。
答案 2 :(得分:0)
最好的办法是下载搜索图标或出于这个原因,谷歌开发者网站本身的任何图标并相应地进行修改。
https://www.google.com/design/icons/#ic_search
将图标图像保存在res / drawable文件夹中并刷新Android Studio。