0

私は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>

今私が見るのはこれです:

ここに画像の説明を入力 ここに画像の説明を入力

選択されていない場合、SearchView は画面の下部にあり、アクティブな場合にのみアクションバーの一部になります。Playストアのように埋め込むにはどうすればよいですか?

4

1 に答える 1

0

あなたのJavaコードから、FragmentActivityを使用しているようで、したがってandroid-supportライブラリを使用しているようです。ただし、選択した SearchView クラスはネイティブ Android フレームワークのものです。

開発者ドキュメントを見て、それがどのように行われるべきかを確認してください。

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

また、splitActionbar が有効になっているようです。そうしないと、検索ボタンが上部のアクションバーに表示されます。したがって、次のような AndroidManifest.xml を確認してください。

<activity uiOptions="splitActionBarWhenNarrow" ... >
    <meta-data android:name="android.support.UI_OPTIONS"
               android:value="splitActionBarWhenNarrow" />
</activity>
于 2014-01-15T13:34:09.413 に答える