gpt4 book ai didi

Android 支持 v7 ActionBar SearchView 未完全展开

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:29 25 4
gpt4 key购买 nike

我想为我的应用程序中的特定 Activity 显示一个完全扩展的 SearchView,但是,对于这些 Activity ,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>

这是我的 Activity 代码:

@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 的样子: enter image description here

我已尝试将 SearchView LayoutParams.width 设置为 LayoutParams.MATCH_PARENT,但 SearchView.getLayoutParams() 一直返回 null。我尝试了 ViewGroup.LayoutParams、LinearLayout.LayoutParams、ActionBar.LayoutParams 和 v7.ActionBar.LayoutParams。

如果有任何帮助,此 Activity 仅在纵向模式下进行。

最佳答案

MenuItemCompatSearchView 有一个名为 maxWidth 的属性。

final MenuItem searchItem = menu.findItem(R.id.action_search);
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
searchView.setMaxWidth(xxx);

当然使用屏幕宽度而不是xxx

关于Android 支持 v7 ActionBar SearchView 未完全展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28845501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com