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 框架。

查看 developer-docs 以了解它应该如何完成:

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 回答