2014-05-12 34 views
0

我正在通過Android tutorial工作,無法讓我的搜索圖標顯示在我的操作欄中。無法將ic_action_search.png顯示在操作欄中

我不知道我錯過了什麼,但是新的,所以我不知道在哪裏看。

這是我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> 

還有什麼地方可以檢查以確定爲什麼搜索圖標不會出現在操作欄中?

**編輯**

繼周杰倫的建議,下面我已經改變了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

請按照這個教程http://www.vogella.com/tutorials/AndroidActionBar/article.html – Rohit

+0

你需要從這裏添加一個庫下載http://actionbarsherlock.com – Rohit

回答

1

如果您錯過xmlns:yourapp="http://schemas.android.com/apk/res-auto"此行到您的菜單,然後圖像不能得到檢查它。

+0

僅用於Android版本<3.0 ? – ProfessionalAmateur

+0

不幸的是,這兩個項目都只出現在溢出中。 – ProfessionalAmateur

+0

如果您想要始終顯示它,請將youtube:showAsAction =「always」替換爲android:showAsAction =「always」。 –

0

我也有這個問題,而試圖按照教程。我試圖所示的所有解決方案,包括增加

xmlns:yourapp="http://schemas.android.com/apk/res-auto"

毫無效果。我的圖標仍然不會顯示在ActionBar中我終於注意到,該教程有3個styles.xml文件版本,而我的項目只有一個styles.xml。在res \值-V11文件夾(styles.xml):

附加樣式是這一

<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 \值-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文件夾下降這兩個文件,它的工作。

0

要做的最好的事情是下載搜索圖標或出於該原因,從谷歌開發人員網站本身的任何圖標,並相應地修改。

https://www.google.com/design/icons/#ic_search

保存圖標圖像在res /文件夾繪製和更新的Android工作室。