2013-10-05 5 views
0

Я использую ActionBar и SearchView, и это мой код:Проблемы с ActionBar и SearchView

public class MainActivity extends FragmentActivity { 

    @Override 
    public void onCreate(Bundle savedBundle) { 

    super.onCreate(savedBundle); 
    setContentView(R.layout.main_layout); 

    setupImageLoader(); 
    setupSlidingMenu(); 

} 

.... 

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

}

и мой файл меню является:

<?xml version="1.0" encoding="utf-8"?> 

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
     android:id="@+id/search" 
     android:icon="@drawable/ic_search" 
     android:showAsAction="collapseActionView|ifRoom" 
     android:actionViewClass="android.widget.SearchView"/> 
</menu> 

Теперь то, что я см. это:

enter image description here enter image description here

Когда не выбрано, SearchView находится в нижней части экрана, и это становится частью панели действий только тогда, когда активен. Как включить его, как в Play Store?

ответ

0

Из вашего java-кода кажется, что вы используете FragmentActivity и, следовательно, библиотеку поддержки Android. Но выбранный вами SearchView-класс относится к среде Android.

Посмотрите на разработчиков докторантов, чтобы увидеть, как это должно быть сделано:

http://developer.android.com/guide/topics/ui/actionbar.html#ActionView

Кроме того, кажется, у вас включен splitActionbar, либо поиска кнопка будет отображаться в верхней ActionBar. Поэтому проверьте свой AndroidManifest.xml примерно на следующее:

<activity uiOptions="splitActionBarWhenNarrow" ... > 
    <meta-data android:name="android.support.UI_OPTIONS" 
       android:value="splitActionBarWhenNarrow" /> 
</activity> 
Смежные вопросы