如何设置Android的onSearchRequested();

时间:2015-03-03 11:46:47

标签: android search android-activity styles

我无法弄清楚如何使搜索对话框适合高度,看起来像操作栏(就像在YouTube上一样)。你能告诉我怎么做吗? 这是我的Mainfest

<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 个答案:

答案 0 :(得分:1)

在OnCreate活动中调用以下内容:

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