Я использую SearchView
из библиотеки support.v7
. Я посмотрел на this post, который предполагает, что вы можете просто оживить вид поиска, установив LayoutTransition
Как анимировать полную ширину SearchView развернуть/свернуть в панели действий?
LinearLayout searchBar = (LinearLayout) searchView.findViewById(searchBarId);
//Give the Linearlayout a transition animation.
searchBar.setLayoutTransition(new LayoutTransition());
Однако выше не работает для меня. Представление поиска также, кажется, только заполняет часть ширины экрана в ландшафте . Я хотел бы для него fill_parent
Я пытался решить обе эти проблемы, создав простую анимацию, но не с ошибкой searchView.getLayoutParams();
, потому что она всегда возвращает null.
Конечная цель - иметь SearchView в панели действий, которая плавно расширяется/сворачивается и занимает ширину ширины экрана в ландшафте.
Есть ли способ сделать это?
Вот настройки вида поиска, что я в настоящее время есть:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Only show items in the action bar relevant to this screen
// if the drawer is not showing. Otherwise, let the drawer
// decide what to show in the action bar.
getMenuInflater().inflate(R.menu.menu_main, menu);
//Associate searchable configuration with the SearchView
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.search));
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
//Returns null
//searchView.getLayoutParams();
return true;
}
И menu_main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item android:id="@+id/search"
android:title="Search"
android:icon="@android:drawable/ic_menu_search"
app:showAsAction="collapseActionView|ifRoom"
app:actionViewClass="android.support.v7.widget.SearchView"/>
</menu>
Где является XML? –
Обновлено, чтобы включить меню xml. – Naveed