2012-03-07 98 views
4

我已經創建了單個項目菜單,但彈出時不顯示圖標,只顯示文本。我錯過了一個設置嗎?android菜單項不顯示圖標?

java File 

package com.menu; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuInflater; 

public class MymenuActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.menu, menu); 
     return true; 
    } 
} 

menu.xml文件

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@+id/icon" 
     android:icon="@drawable/ic_launcher" /> 
    <item android:id="@+id/text" 
     android:title="Text" /> 
    <item android:id="@+id/icontext" 
     android:title="Icon" 
     android:icon="@drawable/ic_launcher" /> 

</menu> 

請幫助

+1

是否'ic_launcher'繪製存在於你的目標DPI繪製資源目錄? – 2012-03-07 03:27:33

+1

你解決了這個問題嗎?具有完全相同的概率 – membersound 2012-05-17 21:21:23

回答

2

檢查你API級別,可能可能與此有關:

摘自:Android menu icons are not displaying when the API level is above 10

與API開始Level 11(Android Honeycomb)Android爲男性引入了一個新概念我們。爲該API級別構建的設備不再具有菜單鍵。按下按鍵後不會顯示菜單,而是有一個新的UI組件:操作欄。 Actionbar現在顯示的空間允許的菜單項數量很多,之後會創建一個按鈕,用於在疊加層中顯示其餘菜單項。

我會假設你正在使用某種主題來阻止操作欄出現,因此沒有菜單項可見。另請閱讀關於如何支持平板電腦和手持設備以瞭解新的操作欄如何工作的指南。

+0

「爲該API級別構建的設備沒有菜單鍵了。」完全不是這樣。只要看看三星Galaxy設備! – 2013-07-24 15:37:13

0

您應該添加showAsAction =「ifRoom」,以便在足夠空間時顯示爲圖標。

另外,請注意,如果您使用任何類型的支持庫,您應該檢查此屬性的命名空間。

例子:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context="com.example.test.MainActivity" > 

    <item 
     android:icon="@drawable/ic_action_alerts_and_states_warning_holo_dark" 
     app:showAsAction="ifRoom" 
     android:title="sorting"/> 
</menu> 
+0

我有同樣的問題。我忘了將xmlms:app命名空間添加到我的菜單中。確保showAsAction使用的是** app **命名空間,而不是android命名空間。 – sagesolutions 2015-04-04 14:44:25