2015-03-03 2 views
1

Я не могу понять, как сделать диалог поиска подходящим по высоте и выглядеть как панель действий (например, на YouTube). Можете ли вы рассказать мне, как это сделать? Вот мой MainFestКак стиль Android onSearchRequested();

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="info.at_soft.zapiskiinfo" > 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 

    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name"> 
     <intent-filter> 
      <category android:name="android.intent.category.LAUNCHER" /> 
      <action android:name="android.intent.action.MAIN" /> 
     </intent-filter> 
    </activity> 

    <activity android:name=".SearchableActivity" android:launchMode="singleTop" > 
     <intent-filter> 
      <action android:name="android.intent.action.SEARCH" /> 
     </intent-filter> 
     <meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/> 
    </activity> 

    <meta-data android:name="android.app.default_searchable" android:value=".SearchableActivity"/> 
</application> 

код при нажатии на кнопку:

private void openSearch(){ 
    onSearchRequested(); 
    Toast.makeText(this, "Test", Toast.LENGTH_LONG).show(); 
} 

А вот и мой styles.xml

<resources> 

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 

</style> 
</resources> 

Пожалуйста, обратите внимание на это фото:http://imgur.com/zhXmUSe

Как сделать его выглядеть следующим образом: http://imgur.com/nlCY0ES

ответ

1

Вызов ниже в OnCreate деятельности:

setHasOptionsMenu(true); 
getActivity().getActionBar().setCustomView(R.layout.yourSearchBarLayout); 
+0

Это для создания его поиска виджета, потому что я хочу сделать это с Search Dialog? Если это не то, что должно содержать макет панели поиска? Также на каком OnCreate я должен добавить его? MainActivity или SearchableActivity? Извините, но я новичок в разработке приложений для Android и немного запутался. –

+0

Да, добавьте SearchView в макет, который вы создали для setCustomView, и добавьте вышеприведенный код в действие, которое вы хотите отобразить. –

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