【发布时间】:2015-08-19 17:38:17
【问题描述】:
我想为我的应用程序中的特定活动显示一个完全展开的 SearchView,但是,对于这些活动,SearchView 只跨越一半的 ActionBar。
我目前正在使用 v7 支持库。
这是我在 menu_home.xml 中的 SearchView 的代码:
<menu...
<item
android:id="@+id/action_search"
android:title="search"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView" /
</menu>
这是我的活动代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_home, menu);
MenuItem item = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(item);
if (showSearch) {
getSupportActionBar().setDisplayShowTitleEnabled(false);
searchView.setIconifiedByDefault(false);
} else {
item.setVisible(false);
getSupportActionBar().setDisplayShowTitleEnabled(true);
}
return true;
}
下面是 SearchView 的样子:
我尝试将 SearchView LayoutParams.width 设置为 LayoutParams.MATCH_PARENT,但 SearchView.getLayoutParams() 一直返回 null。我试过 ViewGroup.LayoutParams、LinearLayout.LayoutParams、ActionBar.LayoutParams 和 v7.ActionBar.LayoutParams。
如果有任何帮助,此活动仅在纵向模式下进行。
【问题讨论】:
标签: android searchview android-actionbaractivity