我想将一个扩展动画设置为searchview,然后尝试应用我找到的方法:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
MenuItem item = menu.findItem(R.id.action_search);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) item.getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(true);
final int searchBarId = searchView.getContext().getResources().getIdentifier("android:id/search_bar", null, null);
LinearLayout searchBar = (LinearLayout) searchView.findViewById(searchBarId);
searchBar.setLayoutTransition(new LayoutTransition());
return true;
}
但是,变量searchBar始终为null,并且它总是在行
处崩溃searchBar.setLayoutTransition(new LayoutTransition());
我不知道导致错误的原因。有些人可以帮帮我吗?谢谢!
答案 0 :(得分:1)
我遇到了同样的问题。事实证明,如果您使用searchBar
android.support.v7.widget.SearchView
中的空格会为空
我将其更改为android.widget.SearchView
(建议如果支持api> 11)。现在我得到了所需的线性布局和动画效果很好。
修改强>
如果您需要支持版本,则必须使用正确的ID:LinearLayout searchBar = (LinearLayout) mFilterInput.findViewById(android.support.v7.appcompat.R.id.search_bar);