2015-04-20 2 views
2

Я разрабатываю пример приложения для Android, в котором я пытаюсь отображать элементы меню в панели действий с помощью всплывающего окна, и я хочу отображать меню переполнения, содержащее значок. Пожалуйста, помогите мне решить эту проблему. popup_menu.xml являетсяКак добавить значок в всплывающее меню Android?

<menu xmlns:androclass="http://schemas.android.com/apk/res/android" > 


<item 
android:id="@+id/login" 
android:icon="@drawable/user_icon" 
app:showAsAction="ifRoom" 
android:title="@string/login"/> 
<item 
android:id="@+id/register" 
android:icon="@drawable/call_icon" 
app:showAsAction="ifRoom" 
android:title="@string/register"/> 
<item 
android:id="@+id/track_order" 
app:showAsAction="ifRoom" 
android:icon="@drawable/user_icon" 
android:title="@string/track_order"/> 
<item 
android:id="@+id/policies" 
android:icon="@drawable/call_icon" 
app:showAsAction="ifRoom" 
android:title="@string/policies"/> 
<item 
android:id="@+id/faq" 
app:showAsAction="ifRoom" 
android:title="@string/faq" 
android:icon="@drawable/share_icon"/> 
<item 
android:id="@+id/share_app" 
android:title="@string/share_app" 
app:showAsAction="ifRoom" 
android:icon="@drawable/share_icon"/> 
<item 
android:id="@+id/rateApp" 
app:showAsAction="ifRoom" 
android:icon="@drawable/user_icon" 
android:title="@string/rate_app"/> 
<item 
android:id="@+id/settings" 
app:showAsAction="ifRoom" 
android:icon="@drawable/user_icon" 
android:title="@string/settings"/> </menu> 

и следующий код, чтобы открыть всплывающего меню

View menuItemView = findViewById(R.id.profile); 
PopupMenu popupMenu = new PopupMenu(this, menuItemView); 
popupMenu.inflate(R.menu.account); popupMenu.show(); 
+3

То, что вы tried.Please разместить код –

+0

<элемента андроид: идентификатор = "@ + идентификатор/вход в систему" андроида: значок = "@ вытяжка/user_icon" приложения: showAsAction = "ifRoom" андроида : название = "@ строка/логин" /> <элемент андроид: идентификатор = "@ + идентификатор/регистрация" андроид: значок = "@ вытяжка/call_icon" приложение: showAsAction = "ifRoom" андроид: название = "@ string/register" />

+0

Я хочу загрузить разные XML для разных условий. –

ответ

2

См This Post и изменить poupup_menu.xml файл как:

<menu xmlns:androclass="http://schemas.android.com/apk/res/android" > 
<item 
    android:id="@+id/one" 
    android:title="One" 
    app:showAsAction="ifRoom" 
    android:icon="@drawable/icon1.png"/> 

<item 
    android:id="@+id/two" 
    android:title="Two" 
    app:showAsAction="ifRoom" 
    android:icon="@drawable/icon2.png"/> 

<item 
    android:id="@+id/three" 
    android:title="Three" 
    app:showAsAction="ifRoom" 
    android:icon="@drawable/icon3.png"/> 
</menu> 
+0

Я уже сделал это, но он не показывает значки –

+0

OK Пожалуйста, отредактируйте ваше сообщение и отправьте свое XML-код своего меню, пожалуйста! –

0

<item 
    android:id="@+id/login" 
    android:icon="@drawable/user_icon" 
    app:showAsAction="ifRoom" 
    android:title="@string/login"/> 
<item 
    android:id="@+id/register" 
    android:icon="@drawable/call_icon" 
    app:showAsAction="ifRoom" 
    android:title="@string/register"/> 
<item 
    android:id="@+id/track_order" 
    app:showAsAction="ifRoom" 
    android:icon="@drawable/user_icon" 
    android:title="@string/track_order"/> 
<item 
    android:id="@+id/policies" 
    android:icon="@drawable/call_icon" 
    app:showAsAction="ifRoom" 
    android:title="@string/policies"/> 
<item 
    android:id="@+id/faq" 
    app:showAsAction="ifRoom" 
    android:title="@string/faq" 
    android:icon="@drawable/share_icon"/> 
<item 
    android:id="@+id/share_app" 
    android:title="@string/share_app" 
    app:showAsAction="ifRoom" 
    android:icon="@drawable/share_icon"/> 
<item 
    android:id="@+id/rateApp" 
    app:showAsAction="ifRoom" 
    android:icon="@drawable/user_icon" 
    android:title="@string/rate_app"/> 
<item 
    android:id="@+id/settings" 
    app:showAsAction="ifRoom" 
    android:icon="@drawable/user_icon" 
    android:title="@string/settings"/> 

+0

и я использую ниже код для открытия всплывающего окна –

+0

Просмотреть menuItemView = findViewById (R.id.profile); PopupMenu popupMenu = новый PopupMenu (это, menuItemView); popupMenu.inflate (R.menu.account); popupMenu.show(); –

Смежные вопросы