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
Le package @capgo/home-indicator
vous permet de masquer et d'afficher l'indicateur de bouton d'accueil dans votre application Capacitor.
Pour installer le package, exécutez la commande suivante dans votre terminal :
npm install @capgo/home-indicator
npx cap sync
Le package fournit les méthodes suivantes :
hide()
hide() => Promise
Masquer l'indicateur d'accueil
Depuis : 001
show()
show() => Promise
Afficher l'indicateur d'accueil
Depuis : 001
isHidden()
isHidden() => Promise<{ hidden: boolean; }>
Obtenir le statut de l'indicateur d'accueil
Renvoie : Promesse<{ hidden: boolean; }>
Depuis : 001
Vous pouvez utiliser --safe-area-inset-bottom
pour vous assurer que votre contenu n'est pas masqué par l'indicateur d'accueil. Cette variable est injectée par le plugin pour Android. Elle est utile si vous définissez le mode plein écran réel sur Android.
Exemple d'utilisation :
getWindow().setDecorFitsSystemWindows(false);
Ce plugin a été créé à l'origine pour Kickcom par Capgo.
Pour plus d'informations et de mises à jour, consultez Capgo.