【问题标题】:bringToFront() not working in LollipopbringToFront() 在棒棒糖中不起作用
【发布时间】: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


【解决方案1】:

检查搜索视图的高度。 要设置高程,请转到 XML 文件并在 searchView 中设置 android:elevation="2dp",或者如果这不起作用,可能会更高。 问题是,隐藏或重叠搜索视图的元素比您的搜索视图具有更高的高度。您可以将重叠元素的高度设置为 0dp。例如:android:elevation="0dp"。而且,bringToFront() 不仅仅适用于 Lollipop。这有望解决问题

【讨论】:

    【解决方案2】:

    我想通了

    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();
    

    测试于

    • 棉花糖

    • 果冻豆

    【讨论】:

      猜你喜欢
      • 2016-01-20
      • 2018-12-07
      • 1970-01-01
      • 2015-01-12
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      相关资源
      最近更新 更多