Android launcher3中QSBSearchBar会在主菜单界面显示的问题。

现象

在开发中发现,launcher3 待机界面的QSBSearchBar widget,在我们进入主菜单界面后,可能会显示在主菜单界面

原因

进入主菜单,收到searchmanager发送的广播消息,search框会重建。

解决方法:

重建时若在allapp界面则执行隐藏操作。请贵司帮忙按如下修改:

packages/apps/Launcher3/src/com/android/launcher3/Launcher.java

    public void bindSearchablesChanged() {
        ...;

        mSearchDropTargetBar.setQsbSearchBar(getOrCreateQsbBar());

     +   if(isAppsViewVisible()) {
     +      mSearchDropTargetBar.foreHideSearchBar(false);
     +   }
    }

packages/apps/Launcher3/src/com/android/launcher3/SearchDropTargetBar.java

    public void hideSearchBar(boolean animated) {
        if (mIsSearchBarHidden) return;
        if (animated) {
            prepareStartAnimation(mQSBSearchBar);
            mHideSearchBarAnim.start();
        } else {
            ...;
        }
        mIsSearchBarHidden = true;
    }

   +  public void foreHideSearchBar(boolean animated) {
   +      if (animated) {
   +          prepareStartAnimation(mQSBSearchBar);
   +          mHideSearchBarAnim.start();
   +      } else {
   +          mHideSearchBarAnim.cancel();
   +          if (mQSBSearchBar != null) {
   +              mQSBSearchBar.setAlpha(0f);
   +           }
   +      }
   +      mIsSearchBarHidden = true;
   +  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值