hide and show home button indicator in Capacitor app
To be able to hide the home indicator on Android, you need to
update your MainActivity.java
file to add the following code:
// ...
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.view.WindowInsets;
import com.getcapacitor.BridgeActivity;
public class MainActivity extends BridgeActivity {
void fixSafeArea() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
getWindow().setDecorFitsSystemWindows(false);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
fixSafeArea();
}
// on resume
@Override
public void onResume() {
super.onResume();
fixSafeArea();
}
// on pause
@Override
public void onPause() {
super.onPause();
fixSafeArea();
}
}
And the update styles.xml to add the following code:
<item name="android:statusBarColor">
@android:color/transparent
</item>
npm install @capgo/home-indicator
npx cap sync
hide() => Promise<void>
Hide the home indicator.
Since: 0.0.1
show() => Promise<void>
Show the home indicator.
Since: 0.0.1
isHidden() => Promise<{ hidden: boolean; }>
Get the home indicator status.
Returns: Promise<{ hidden: boolean; }>
Since: 0.0.1
getPluginVersion() => Promise<{ version: string; }>
Get the native Capacitor plugin version
Returns: Promise<{ version: string; }>
You can use --safe-area-inset-bottom
to make sure your content is not hidden by the home indicator
This variable is injected by the plugin for android.
It's useful if you set real fullscreen mode on android.
with :
getWindow().setDecorFitsSystemWindows(false);
capgo/home-indicator
El paquete @capgo/home-indicator
te permite ocultar y mostrar el indicador del botón de inicio en tu aplicación Capacitor.
Para instalar el paquete, ejecuta el siguiente comando en tu terminal:
npm install @capgo/home-indicator
npx cap sync
El paquete proporciona los siguientes métodos:
hide()
hide() => Promise
Oculta el indicador del inicio.
Desde: 001
show()
show() => Promise
Muestra el indicador del inicio.
Desde: 001
isHidden()
isHidden() => Promise<{ hidden: boolean; }>
Obtiene el estado del indicador del inicio.
Devuelve: Promise<{ hidden: boolean; }>
Desde: 001
Puedes usar --safe-area-inset-bottom
para asegurarte de que tu contenido no esté oculto por el indicador del inicio. Esta variable es inyectada por el plugin para Android. Es útil si configuras el modo de pantalla completa real en Android.
Ejemplo de uso:
getWindow().setDecorFitsSystemWindows(false);
Este plugin fue creado originalmente para Kickcom por Capgo.
Para más información y actualizaciones, visita Capgo.