Lock.Android:カスタムテーマ設定
Lock.Android UIの外観はカスタマイズすることができます。ヘッダーロゴやタイトルなどの様々な項目に加え、一部の色やボタンなどの項目も、アプリケーションのテーマに合わせて変更できます。
サポートされる属性のリスト
名前 | タイプ | 説明 |
---|---|---|
Auth0.HeaderLogo | drawable - reference | ヘッダー内に表示する描画可能なロゴ。推奨される最小解像度は200ピクセル(幅) x 200ピクセル(高さ)です。 |
Auth0.HeaderTitle | string - reference | ヘッダー内にタイトルとして表示するテキスト。 |
Auth0.HeaderTitleColor | color - reference | タイトルテキストの色。 |
Auth0.HeaderBackground | color - reference | ヘッダーのバックグラウンドカラーとして使用される。 |
Auth0.PrimaryColor | color - reference | Submit(送信)ボタンといったウィジェットの_normal_ stateとして使用される。accent colorとしても使用される。 |
Auth0.DarkPrimaryColor | color - reference | Submit(送信)ボタンといったウィジェットの_pressed_ stateとして使用される。 |
新しいリソースファイルを作成する
まず、Lock.Theme
から拡張する新しいTheme
を作成し、カスタマイズする属性をオーバーライドします。オーバーライドしない属性は、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?
新しいテーマを使用するには、android:theme
属性を使用してAndroidManifest.xml
ファイルでアクティビティをセットアップします。使用するのがクラシックLockかパスワードレスLockかに応じて、更新するアクティビティ宣言が異なります。Lockライブラリーはこれらのアクティビティを内部で宣言するため、テーマ属性のみのライブラリーの宣言をオーバーライドする特別なtools:replace
属性を使用して、アクティビティを再度宣言する必要があります。
<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?
OAuth接続のカスタムボタン
サードパーティのIDプロバイダー接続のスタイルをカスタマイズするには、新しい接続を作成しなければなりません。これにはCustom Social Connections
拡張機能を使用して、すべての必須フィールドに入力した上で変更を保存します。
LockでサードパーティのIDプロバイダー接続のスタイルをカスタマイズするには、ビルダーを呼び出し、使用するconnectionName
とstyle
を両方渡します。
まず、Lock.Theme.AuthStyle
を拡張するカスタムスタイルを作成します。以下の例のようなキーの名前を使用して、ロゴ、背景色、接続名を定義します。
<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?
ビルダーのセットアップ画面で、オーバーライドする接続名のAuthStyle
を追加します。
builder.withAuthStyle("facebook", R.style.Style_Facebook)
.build(...);
Lockがその接続をSocialButtonに表示する必要がある場合、まずユーザーがオーバーライドしたスタイルが検索されます。見つからない場合は、Lockのデフォルトのスタイルになります。上のfacebook
の例では、Facebookの背景色、Facebookのロゴ、および「FACEBOOK
」の名前が使用されることになります。