Benutzeroberfläche anpassen

Ein Vorteil von benutzerdefinierten Tabs besteht darin, dass sie sich nahtlos in deine App integrieren lassen. In diesem Teil des Leitfadens zu benutzerdefinierten Tabs erfährst du, wie du das Aussehen und das Verhalten eines benutzerdefinierten Tabs an deine App anpassen kannst.

Farbe der Symbolleiste festlegen

Benutzerdefinierter Tab mit benutzerdefiniertem hellen Farbschema
Leichtmodus
Benutzerdefinierter Tab mit benutzerdefiniertem dunklen Farbschema
Dunkler Modus

Passen Sie zuerst die Adressleiste des benutzerdefinierten Tabs an das Design Ihrer App an. Im folgenden Snippet wird die Standardleiste durch Aufrufen von setDefaultColorSchemeParams() geändert. Wenn Ihre App auch ein dunkles Farbschema unterstützt, können Sie es über .setColorSchemeParams(CustomTabsIntent.COLOR_SCHEME_DARK, …) festlegen.

// get the current toolbar background color (this might work differently in your app)
@ColorInt int colorPrimaryLight = ContextCompat.getColor(MainActivity.this, R.color.md_theme_light_primary);
@ColorInt int colorPrimaryDark = ContextCompat.getColor(MainActivity.this, R.color.md_theme_dark_primary);

CustomTabsIntent intent = new CustomTabsIntent.Builder()
        // set the default color scheme
        .setDefaultColorSchemeParams(new CustomTabColorSchemeParams.Builder()
                .setToolbarColor(colorPrimaryLight)
                .build())
        // set the alternative dark color scheme
        .setColorSchemeParams(CustomTabsIntent.COLOR_SCHEME_DARK, new CustomTabColorSchemeParams.Builder()
                .setToolbarColor(colorPrimaryDark)
                .build())
        .build();

Die Symbolleiste verfügt jetzt über benutzerdefinierte Hintergrund- und Vordergrundfarben.

Benutzerdefinierte Animation beim Ein- und Ausblenden konfigurieren

Als Nächstes kannst du das Starten (und Verlassen) eines benutzerdefinierten Tabs in deiner App reibungsloser gestalten, indem du benutzerdefinierte Start- und Beenden-Animationen mit setStartAnimation und setExitAnimation definierst:

CustomTabsIntent intent = new CustomTabsIntent.Builder()

.setStartAnimations(MainActivity.this, R.anim.slide_in_right, R.anim.slide_out_left)
.setExitAnimations(MainActivity.this, android.R.anim.slide_in_left, android.R.anim.slide_out_right)
.build();

Weitere Anpassungen: Titel, AppBar automatisch ausblenden und benutzerdefiniertes Symbol zum Schließen

Es gibt noch einige weitere Möglichkeiten, die Benutzeroberfläche eines benutzerdefinierten Tabs an Ihre Anforderungen anzupassen.

  • Blenden Sie die URL-Leiste beim Scrollen aus, damit Nutzer mehr Platz haben, um Webinhalte mit setUrlBarHidingEnabled()(true) zu erkunden.
  • Zeigen Sie den Dokumenttitel anstelle der URL über setShowTitle()(true) an.
  • Passe die Schließen-Schaltfläche an den User Flow in deiner App an, indem du beispielsweise statt des Standardsymbols X einen Zurück-Pfeil einblendest: setCloseButtonIcon()(myCustomCloseIcon).

Diese Optionen sind optional, können aber die Nutzung des benutzerdefinierten Tabs in Ihrer App verbessern.

Bitmap myCustomCloseIcon = getDrawable(R.drawable.ic_baseline_arrow_back_24));
CustomTabsIntent intent = new CustomTabsIntent.Builder()
  
  .setUrlBarHidingEnabled(true)
  .setShowTitle(true)
  .setCloseButtonIcon(toBitmap(myCustomCloseIcon))
  .build();

Benutzerdefinierten Verweis einrichten

Sie können Ihre App als Verweisquelle festlegen, wenn Sie den benutzerdefinierten Tab starten. So können Sie Websites mitteilen, woher ihre Zugriffe stammen.

CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder().build()
customTabsIntent.intent.putExtra(Intent.EXTRA_REFERRER,
       Uri.parse("android-app://" + context.getPackageName()));

Nächster Schritt: Weitere Informationen zum Hinzufügen einer benutzerdefinierten Aktion zu Ihrem benutzerdefinierten Tab