• 如何去除Launcher默认的google search bar?


    JB2/JB3/JB5/JB9版本:

    1. 请修改 Launcher2/res/layout/qsb_bar.xml,如下:
    <include android:id="@+id/qsb_search_bar"
    layout="@layout/search_bar"
    android:visibility="gone" />
    添加android:visibility="gone"
     
    2. 请修改Launcher2/res/layout-port/launcher.xml,如下:
    <com.android.launcher2.DrawableStateProxyView
    android:id="@+id/voice_button_proxy"
    android:layout_width="80dp"
    android:layout_height="@dimen/qsb_bar_height"
    android:layout_gravity="top|right"
    android:clickable="true"
    onClick="onClickVoiceButton"
    android:importantForAccessibility="no"
    launcher:sourceViewId="@+id/voice_button" />
    修改android:clickable="false"
     
    3. 请修改Launcher2/src/com/android/launcher2/SearchDropTargetBar.java的
    onFinishInflate() 方法,如下:
    ......
    // Create the various fade animations
    if (mEnableDropDownDropTargets) {
    mDropTargetBar.setTranslationY(-mBarHeight);
    mDropTargetBarAnim = ObjectAnimator.ofFloat(mDropTargetBar,"translationY",-mBarHeight, 0f);
    mQSBSearchBarAnim = ObjectAnimator.ofFloat(mQSBSearchBar, "translationY",-mBarHeight,-mBarHeight);
    } else {
    mDropTargetBar.setAlpha(0f);mDropTargetBarAnim = ObjectAnimator.ofFloat(mDropTargetBar, "alpha", 0f,1f);
    mQSBSearchBarAnim = ObjectAnimator.ofFloat(mQSBSearchBar, "alpha", 0f,0f);
    }
    ......
     
    4. 请修改Launcher2/src/com/android/launcher2/SearchDropTargetBar.java的
    showSearchBar()方法,如下:
    public void showSearchBar(boolean animated) {
    if (!mIsSearchBarHidden) return;
    if (animated) {
    prepareStartAnimation(mQSBSearchBar);
    mQSBSearchBarAnim.reverse();
    } else {
    mQSBSearchBarAnim.cancel();
    if (mEnableDropDownDropTargets) {
    mQSBSearchBar.setTranslationY(0);
    } else {
    mQSBSearchBar.setAlpha(0f);
    }
    }
    mIsSearchBarHidden = false;
    }
     

    KK 版本:

    1. 请修改Launcher3/res/layout-port/search_bar.xml,如下:
    <RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:launcher="http://schemas.android.com/apk/resauto/
    com.android.launcher3"
    style="@style/SearchDropTargetBar"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/search_frame"
    android:visibility="gone">
    添加android:visibility="gone"
    2. 请修改Launcher3/res/layout-port/launcher.xml,如下:
    <com.android.launcher3.DrawableStateProxyView
    android:id="@+id/voice_button_proxy"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_gravity="top|end"
    android:clickable="true"
    android:onClick="onClickVoiceButton"
    android:importantForAccessibility="no"
    launcher:sourceViewId="@+id/voice_button" />
    修改android:clickable="false"

    3. 请修改Launcher3/src/com/android/launcher3/SearchDropTargetBar.java的
    setup()方法,如下:
    ......
    if (mEnableDropDownDropTargets) {
    mQSBSearchBarAnim = ObjectAnimator.ofFloat(mQSBSearchBar,"translationY", -mBarHeight,-mBarHeight);
    } else {
    mQSBSearchBarAnim = ObjectAnimator.ofFloat(mQSBSearchBar,"alpha", 0f, 0f);
    }
    ......

    4. 请修改Launcher3/src/com/android/launcher3/SearchDropTargetBar.java的
    showSearchBar()方法,如下:
    public void showSearchBar(boolean animated) {
    boolean needToCancelOngoingAnimation =
    mQSBSearchBarAnim.isRunning() && !animated;
    if (!mIsSearchBarHidden && !needToCancelOngoingAnimation) return;
    if (animated) {
    prepareStartAnimation(mQSBSearchBar);
    mQSBSearchBarAnim.reverse();
    } else {
    mQSBSearchBarAnim.cancel();
    if (mEnableDropDownDropTargets) {
    mQSBSearchBar.setTranslationY(0);
    } else {
    mQSBSearchBar.setAlpha(0f);
    }
    }
    mIsSearchBarHidden = false;
    }
    5. 请修改Launcher3/src/com/android/launcher3/Workspace.java的
    getChangeStateAnimation()方法,如下:
    ......
    float finalSearchBarAlpha = !stateIsNormal ? 0f : 0f;  //默认为1f:0f
    ......
  • 相关阅读:
    【更新】Java发送邮件:个人邮箱(QQ & 网易163)+企业邮箱+Android
    git pull 出现 WARNING: POSSIBLE DNS SPOOFING DETECTED!
    Redis解决“重试次数”场景的实现思路
    IDEA更改JavaScript版本
    npm与yarn命令
    SpringBoot+Vue前后端分离项目,maven package自动打包整合
    Vue(九)使用Ant Design入门——环境搭建
    Git常用命令
    Vue(八)全局变量和全局方法
    笔记本电池怎样使用问题
  • 原文地址:https://www.cnblogs.com/chendalin/p/7196353.html
Copyright © 2020-2023  润新知