2014-03-19 94 views
1

我跟着this Android tutorial.但是,我無法將操作按鈕放在操作欄上。它總是隱藏在溢出中。我找了一些相關的問題Action buttons doesn't show up on Action Bar?以及這一個:Actionbar not shown with AppCompat操作按鈕隱藏在溢出

但他們都沒有爲我工作。

我RES /菜單/ main.xml中看起來是這樣的:

<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.gettingstarted.MainActivity" > 

<item 
    android:id="@+id/action_settings" 
    android:orderInCategory="100" 
    android:showAsAction="never" 
    android:title="@string/action_settings"/> 

<item android:id="@+id/action_search" 
    android:title="@string/action_search" 
    android:icon="@drawable/ic_action_search" 
    android:showAsAction="always" 
    android:actionViewClass="android.widget.SearchView"/> 

</menu> 

和SRC/MainActivity.java如下:

public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

我下創建/ RES文件夾和繪製在該文件夾中添加ic_action_search.png。下面是我運行應用程序時的樣子。

Hidden in overflow

搜索仍然隱藏在溢出。有任何想法嗎?

回答

1

最高的Android API要求:

<item 
android:id="@+id/action_settings" 
android:orderInCategory="100" 
android:showAsAction="never" 
app:showAsAction="never" 
android:title="@string/action_settings"/> 

<item android:id="@+id/action_search" 
android:title="@string/action_search" 
android:icon="@drawable/ic_action_search" 
android:showAsAction="always" 
app:showAsAction="always" 
android:actionViewClass="android.widget.SearchView"/> 
+0

謝謝,它的工作。但是那個app是什麼:showAsAction?爲什麼需要它?你能解釋一下嗎?謝謝! – whileone

+0

我相信這適用於Android> 4.4和/或AppCompat庫。不確定。 – shkschneider

+1

它在此頁面上進行了解釋:https://developer.android.com/training/basics/actionbar/adding-buttons.html「如果您的應用程序正在使用支持庫以兼容Android 2.1版本的版本,則showAsAction屬性不能從android:命名空間獲得,而是由支持庫提供,而且必須定義自己的XML命名空間並將該命名空間用作屬性前綴。「閱讀一個例子。 – Synesso