簡體   English   中英

菜單項未顯示在ActionBar中,僅顯示在溢出菜單中

[英]The menu item isn't showing in the ActionBar, only in overflow menu

我有與這些線程完全相同的問題:

操作欄上未顯示任何操作或圖標; 只在溢出

菜單項不會顯示在活動欄上

沒有人提供解決方案,因此我想再次提出。

我有一個xml文件my_menu.xml,看起來像這樣:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/delete"
        android:showAsAction="ifRoom|withText"
        android:icon="@drawable/ic_delete_image"
        android:title="delete"/>
</menu>

我的活動擴展了ActionBarActivity並實現了以下方法:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.my_menu, menu);
            return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

            switch(item.getItemId()) {
                case R.id.delete:
                    //delete something
                    break;
            }

            return(true);
}

在我的書中:“ ifRoom的值表示菜單項在有空間的情況下將顯示在操作欄中”-我已經測試過始終使用ifRoom,ifRoom | withText,但是該項始終以溢出結束菜單。 我已經在不同設備上測試了該應用程序,並且有足夠的空間。 有人對此有解決方案嗎?

漢克

我的活動擴展了ActionBarActivity

文檔所述 ,如果您正在使用操作欄的appcompat_v7及其關聯的ActionBarActivity ,則您的菜單資源需要在針對應用的自定義命名空間中具有showAsAction

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
    <item
        android:id="@+id/delete"
        yourapp:showAsAction="ifRoom|withText"
        android:icon="@drawable/ic_delete_image"
        android:title="delete"/>
</menu>

這是一個完整的示例項目,演示了appcompat_v7操作欄的appcompat_v7

嘗試將其更改為

<item
        android:id="@+id/delete"
        android:showAsAction="always|withText"
        android:icon="@drawable/ic_delete_image"
        android:title="delete"/>

希望這會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM