Lock.Android: thème personnalisé

Vous pouvez personnaliser l’apparence de l’interface utilisateur de Lock.Android. Outre divers éléments tels que le logo et le titre de l’en-tête, vous pouvez modifier certaines couleurs, certains boutons et d’autres éléments pour les adapter au thème de votre application.

Liste des attributs pris en charge

| Nom | Type | Description | | :--- | :--- : | :--- | |Auth0.HeaderLogo | drawable - reference | Peignable de logo à afficher dans l’en-tête. La résolution minimale recommandée est de 200 pixels (largeur) par 200 pixels (hauteur). | |Auth0.HeaderTitle | string - référence | Texte à afficher comme titre dans l’en-tête. | |Auth0.HeaderTitleColor | color - reference | Couleur pour le texte du titre. |Auth0.HeaderBackground | color - reference | Utilisé comme couleur d’arrière-plan dans l’en-tête. | |Auth0.PrimaryColor | color - reference | Utilisé comme normal state dans les widgets comme le bouton Soumettre. Également utilisée comme accent color. | |Auth0.DarkPrimaryColor | couleur - référence | Utilisée en tant qu’état pressed state dans les widgets tels que le bouton Soumettre. |

Créer un nouveau fichier de ressources

Tout d’abord, créez un nouveau Theme basé sur Lock.Theme et modifiez les attributs que vous souhaitez personnaliser. Les attributs qui n’ont pas été modifiés prendront par défaut ceux définis dans Lock.Theme.

<resources>
  <style name="MyTheme" parent="Lock.Theme">
    <item name="Auth0.HeaderLogo">@drawable/com_auth0_lock_header_logo</item>
    <item name="Auth0.HeaderTitle">@string/com_auth0_lock_header_title</item>
    <item name="Auth0.HeaderTitleColor">@color/com_auth0_lock_text</item>
    <item name="Auth0.HeaderBackground">@color/com_auth0_lock_header_background</item>
    <item name="Auth0.PrimaryColor">@color/com_auth0_lock_submit_normal</item>
    <item name="Auth0.DarkPrimaryColor">@color/com_auth0_lock_submit_pressed</item>
  </style>
</resources>

Was this helpful?

/

To start using the new theme, set up the Activity in the AndroidManifest.xml file with the android:theme attribute. Depending on if you are using Classic Lock or Passwordless Lock, the activity declaration to update will differ. Because the Lock library declares these activities internally, you need to re-declare them with the special tools:replace attribute that will override the library’s declaration only for the theme attribute.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.company.app">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <!-- Classic -->
        <activity
            android:name="com.auth0.android.lock.LockActivity"
            android:theme="@style/MyTheme"
            tools:replace="android:theme" />
        <!-- Passwordless -->
        <activity
            android:name="com.auth0.android.lock.PasswordlessLockActivity"
            android:theme="@style/MyTheme"
            tools:replace="android:theme" />
    </application>
</manifest>

Was this helpful?

/

Boutons de connexion OAuth personnalisés

Pour personnaliser le style de la connexion d’un fournisseur d’identité tiers, vous devez créer une nouvelle connexion en utilisant l’extensionCustom Social Connections, en remplissant tous les champs requis avant d’enregistrer les modifications.

Pour personnaliser le style d’une connexion de fournisseur d’identité tiers dans Lock, appelez le constructeur et transmettez-lui le connectionName et le style à utiliser.

Tout d’abord, créez un style personnalisé qui étend Lock.Theme.AuthStyle. Définissez le logo, la couleur de fond et le nom de la connexion en utilisant des noms de clés similaires à l’exemple ci-dessous.

<style name="Style.Facebook" parent="Lock.Theme.AuthStyle">
    <item name="Auth0.BackgroundColor">@color/facebook_color</item>
    <item name="Auth0.Name">@string/facebook_name</item>
    <item name="Auth0.Logo">@drawable/facebook_logo</item>
</style>

Was this helpful?

/

In the builder’s setup, add the AuthStyle for the connection name that you want to override.

builder.withAuthStyle("facebook", R.style.Style_Facebook) .build(...);

Lorsque Lock doit afficher cette connexion dans un SocialButton, il recherche d’abord les styles modifiés par l’utilisateur. S’il n’en trouve pas, il utilisera le style Lock par défaut. En suivant l’exemple ci-dessus, cela signifie que pour facebook, il utilisera la couleur d’arrière-plan Facebook, le logo Facebook et « FACEBOOK» comme nom.