簡體   English   中英

ListActivity的ActionBar上的菜單圖標

[英]Menu icon on ActionBar of ListActivity

我希望刷新項顯示在頂部欄上。 我正在擴展ListActivity並使用主題android:Theme.Holo.Light.DarkActionBar 使用以下命令創建菜單:

<menu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context="eu.pcas_project.client.android.pa.services.ServiceList">

    <item
        android:id="@+id/refresh_all_services"
        android:title="@string/refresh_all_services"
        android:icon="@drawable/ic_menu_refresh"
        app:showAsAction="always" />
</menu>

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_service_list, menu);
    return super.onCreateOptionsMenu(menu);
}

ListActivity帶有錯誤放置的菜單圖標。

如果我將菜單XML上的app:showAsAction="always"更改為android:showAsAction="always" ,則可以按我想要的方式工作(頂部欄上的圖標),但隨后出現錯誤提示, 應在不使用android:showAsAction的情況下使用使用appcompat庫 可以解決嗎?

定位API 19。

這取決於是否具有用於菜單的物理按鈕,該按鈕不會出現。 但您可以嘗試以下操作:

<item
    android:id="@+id/refresh_all_services"
    android:icon="@drawable/ic_menu_refresh"
    android:title="@string/refresh_all_services"
    app:showAsAction="withText|ifRoom"
    app:actionProviderClass="android.support.v7.widget.ActionProvider"
    />

如問題所述, android:showAsAction="always"可以工作,但是會產生錯誤。

盡管該項目未直接使用appcompat庫,但我發現由上述項目導入的庫具有com.android.support:appcompat-v7:XXX.YYY.ZZZ作為依賴項,即使不需要它也是如此。 這是由Android Studio添加的。 一旦刪除了行並重建了項目,錯誤就消失了,刷新圖標出現在右上角而不是菜單上。

暫無
暫無

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

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