【发布时间】:2017-06-24 16:07:30
【问题描述】:
我在我的应用程序中使用了搜索小部件。我想把它放在所有东西的前面,我做到了,并在真实设备上对其进行了测试。它工作得很好。但是当我在棒棒糖设备上测试它时,它不起作用。然后我才知道bringToFront() 在 Lollipop 中效果不佳。所以我可以使用setElevation() 或其他东西(也许是setZ)。但是,我想在从 API 17 到最新版本的每台 android 设备上使用它。我该怎么做?
我在下面粘贴我的代码。
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
MaterialSearchView searchView = (MaterialSearchView) view.findViewById(R.id.search_view); //Search experiment
inflater.inflate(R.menu.toolbar_menu, menu);
super.onCreateOptionsMenu(menu, inflater);
MenuItem item = menu.findItem(R.id.search_top);
searchView.setMenuItem(item);
searchView.bringToFront();
}
【问题讨论】:
-
然后才知道
bringToFront()在 Lollipop 中效果不佳 怎么办?你能用view.bringChildToFront(searchview);替换searchView.bringToFront();是一样的吗, -
好的,我试试看。
-
不.. 没用... :( @Elltz
-
你弄明白了吗?
-
是的!我是使用 android:elevation 完成的。我的搜索视图显示在滑动选项卡布局下方。并且我的搜索视图的高度设置为低于滑动选项卡。所以我将搜索高度设置为 2dp,并将滑动标签的高度设置为 0 dp。而且效果很好。 .
标签: android android-view android-api-levels