Я хочу сделать так, чтобы представление поиска на моей панели инструментов занимало все доступное пространство. На данный момент, это не так, вместо этого, он оставляет кусочек неиспользованного пространства рядом с кнопкой «Назад». Я хочу, чтобы он занимал больше этого пространства.
Вот изображение:
Вот мое меню 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;
}