La primera modificación del cuadro de búsqueda:
proveedor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/config$
FeatureFlags.java
Encuentra esta línea:
booleano final estático público QSB_ON_FIRST_SCREEN = BuildConfig.QSB_ON_FIRST_SCREEN;
Se puede modificar como: público estático final booleano QSB_ON_FIRST_SCREEN = verdadero;
También puede modificarlo en la clase proveedor/mediatek/proprietary/packages/apps/Launcher3/src_build_config/com/android/launcher3$BuildConfig.java:
booleano final estático público QSB_ON_FIRST_SCREEN = falso;
Segunda modificación del cuadro de búsqueda:
La ruta todavía está bajo el iniciador:
proveedor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps /ActivityAllAppsContainerView.java clase o clase [AllAppsContainerView]
¡ Simplemente agréguelo en el método onFinishInflate ! !
Uno:
@Anular
el vacío protegido onFinishInflate () { super.onFinishInflate(); mSearchContainer = findViewById(R.id.search_container_all_apps); mSearchUiManager = (SearchUiManager) mSearchContainer; mSearchUiManager.initializeSearch(este); //*/tyd,lxd,20230613,eliminar el cuadro de búsqueda del menú principal mSearchContainer.setVisibility(View.GONE); //*/ }
Segundo:
@Anular
el vacío protegido onFinishInflate () { super.onFinishInflate();
// Este es un detector de enfoque que transfiere el enfoque desde una vista a la vista de lista. Esto es para
// evitar que el cuadro de búsqueda obtenga el primer foco y muestre el cursor.
setOnFocusChangeListener((v, hasFocus) -> { if (hasFocus && getActiveRecyclerView() != null) { getActiveRecyclerView().requestFocus(); } });
mHeader = findViewById(R.id.all_apps_header);
rebindAdapters(mUsingTabs, verdadero /* fuerza */);
mSearchContainer = findViewById(R.id.search_container_all_apps);
mSearchUiManager = (SearchUiManager) mSearchContainer;
mSearchUiManager.initializeSearch(esto);
//*/tyd,lxd,20230613,eliminar el cuadro de búsqueda del menú principal
mSearchContainer.setVisibility(View.GONE);
//*/
}
Cómo eliminar el icono de marco blanco del menú principal nativo de Android:
frameworks/libs/systemui/iconloaderlib/src/com/android/launcher3/icons$BaseIconFactory.java
normalizeAndWrapToAdaptiveIcon dibujable privado(@NonNull Icono dibujable,
booleano encogimientoNonAdaptiveIcons, RectF outIconBounds, float[] outScale) { if (icon == null) { return null; } escala flotante = 1f;
/*if (shrinkNonAdaptiveIcons && ATLEAST_OREO) { if (mWrapperIcon == null) { mWrapperIcon = mContext.getDrawable(R.drawable.adaptive_icon_drawable_wrapper) .mutate(); } AdaptiveIconDrawable dr = (AdaptiveIconDrawable) mWrapperIcon; dr.setBounds(0, 0, 1, 1); booleano[] formaout = nuevo booleano[1]; escala = getNormalizer().getScale(icon, outIconBounds, dr.getIconMask(), outShape); if (!(instancia de icono de AdaptiveIconDrawable) && !outShape[0]) { FixedScaleDrawable fsd = ((FixedScaleDrawable) dr.getForeground());
fsd.setDrawable(icono);
fsd.setScale(escala);
icono = dr;
escala = getNormalizer().getScale(icono, outIconBounds, nulo, nulo);((ColorDrawable) dr.getBackground()).setColor(mWrapperBackgroundColor);
}
} else { escala = getNormalizer().getScale(icon, outIconBounds, null, null); }*/ /*/ AdaptiveIconDrawable dr = (AdaptiveIconDrawable) mWrapperIcon; dr.setBounds(0, 0, 1, 1); booleano[] formaout = nuevo booleano[1]; escala = getNormalizer().getScale(icono, outIconBounds, dr.getIconMask() , outShape ); //*/ escala = getNormalizer().getScale(icon, outIconBounds, null, null); //*/ outScale[0] = escala; icono de retorno;
}