Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android bringToFront()在棒棒糖中不起作用_Android_Android View_Android Api Levels - Fatal编程技术网

Android bringToFront()在棒棒糖中不起作用

Android bringToFront()在棒棒糖中不起作用,android,android-view,android-api-levels,Android,Android View,Android Api Levels,我在我的应用程序中使用了搜索小部件。我想把它摆在大家面前,我做了,并在真正的设备上进行了测试。它工作得很好。但当我在棒棒糖装置上测试时,它不起作用。然后我才知道,bringToFront()在棒棒糖中不起作用。所以我可以使用setElevation()或其他东西(可能是setZ)。但是,我想在从API 17到最新版本的所有android设备上使用它。我该怎么做 我正在下面粘贴我的代码 @Override public void onCreateOptionsMenu(Menu menu,

我在我的应用程序中使用了搜索小部件。我想把它摆在大家面前,我做了,并在真正的设备上进行了测试。它工作得很好。但当我在棒棒糖装置上测试时,它不起作用。然后我才知道,
bringToFront()
在棒棒糖中不起作用。所以我可以使用
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();
}
我已经弄明白了

if (android.os.Build.VERSION.SDK_INT >= 21) //Lollipop
{
    view.setZ(15);

    for (int i = 0; i < view.getParent().getChildCount(); i++)
    {
        if(view != view.getParent().getChildAt(i))
        {
            view.getParent().getChildAt(i).SetZ(5);
        }
    }
}

view.bringToFront();
for (int i = 0; i < view.getParent().getChildCount(); i++)
{
    view.getParent().getChildAt(i).invalidate();
}
view.getParent().requestLayout();
view.getParent().invalidate();
if(android.os.Build.VERSION.SDK\u INT>=21)//棒棒糖
{
视图。setZ(15);
对于(int i=0;i
测试
  • 棉花糖

  • 水母


检查searchview的标高。 要设置高程,请转到XML文件,并在searchView集合中设置
android:elevation=“2dp”
,如果不起作用,则可以设置更高的高程。
问题是,隐藏或重叠searchview的图元的标高高于searchview。可以将重叠图元的高程设置为0dp。e、 g:
android:elevation=“0dp”
。bringToFront()不仅仅对棒棒糖有效。这有望解决问题

然后才知道
bringToFront()
在棒棒糖中效果不好如何?能否替换
searchView.bringToFront()带有
视图。bringChildToFront(searchview)也是一样的,好吧,让我试试。不。。没用…:(@elltz你找到答案了吗?是的!!我用android:elevation做的。我的搜索视图显示在滑动选项卡布局下面。我的搜索视图的高度设置低于滑动选项卡。因此我将搜索高度设置为2dp,并将滑动选项卡的高度设置为0 dp。效果非常好。