android - 工具栏中的搜索视图未填充所有可用空间
问题描述
我想这样做,以便我的工具栏内的搜索视图占据所有可用空间。到目前为止,它并没有,而是在后退按钮旁边留下一片未使用的空间。我希望它占据更多的空间。
这是一张图片:
这是我的菜单 XML:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/ticker_searchview"
android:icon="@drawable/ic_search_black_24dp"
android:title="@string/tickersearch"
app:actionViewClass="androidx.appcompat.widget.SearchView"
app:showAsAction="always" />
</menu>
这是我的工具栏 XML 代码:
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/White"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Light"
android:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</androidx.appcompat.widget.Toolbar>
这是相关的java代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.tickersearch_menu, menu);
SearchView tickerSearchView = (SearchView) menu.findItem(R.id.ticker_searchview).getActionView();
tickerSearchView.setQueryHint("Ticker Symbol or Name");
tickerSearchView.setIconifiedByDefault(false);
tickerSearchView.setMaxWidth(Integer.MAX_VALUE);
TextView tickerSearchViewTextView = tickerSearchView.findViewById(androidx.appcompat.R.id.search_src_text);
tickerSearchViewTextView.setTypeface(font);
tickerSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
final Intent toStockInfo = new Intent(Search.this, stockinfo.class);
@Override
public boolean onQueryTextSubmit(String query) {
toStockInfo.putExtra("STOCKTICKER", query.toUpperCase());
startActivity(toStockInfo);
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
newSearchUpdateRecyclerContent(newText.toUpperCase());
return true;
}
});
return true;
}
解决方案
您的工具栏 XML 文件是什么?
在您的工具栏.xml 中执行此操作
android:layout_width="match_parent"
推荐阅读
- javascript - 功能道具是否需要“noop”[lodash] 默认参数?
- knockout.js - 未在嵌套上下文中的更改事件处理程序中获取正确的数据上下文
- c# - C# RestSharp 忽略超时参数?
- javascript - 在没有箭头功能的情况下转换以下逻辑,因为它在 IE 中不起作用
- c# - 将 JsonConvert 与没有具体对象的接口一起使用时遇到问题
- java - 致命异常:AsyncTask #1 尝试在空对象引用上调用虚拟方法“long java.util.Date.getTime()”
- filter - WebRequest StreamFilter 作为直通过滤器
- php - 需要显示6位作者的随机列表
- c# - 在 Visual Studio 2017 中使用 Windows 服务访问 MySQL 数据库
- python - 在 TELNETLIB 中写入密码前超时