actionbar和searchview的问题

时间:2013-10-05 10:57:15

标签: android android-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商店中嵌入它?

1 个答案:

答案 0 :(得分:0)

从您的java代码中,您似乎正在使用FragmentActivity,因此使用了android支持库。但是您选择的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>