Lock.Android UI の見た目や使い勝手はカスタマイズできます。ヘッダーロゴやタイトルをはじめ、色やボタンなどを変更して、アプリケーションのテーマに合わせることができます。
まず、Lock.Theme を拡張した新しい Theme を作成し、カスタマイズしたい属性を上書きします。上書きしない属性には、Lock.Theme で定義されているものが既定で使用されます。
新しいテーマを使い始めるには、AndroidManifest.xml ファイルで android:theme 属性を使用して Activity を設定します。Classic Lock と Lock のどちらを使用しているかによって、更新する Activity の宣言は異なります。Lock ライブラリはこれらの Activity を内部で宣言しているため、テーマ属性のみについてライブラリの宣言を上書きする特別な tools:replace 属性を使用して、これらを再宣言する必要があります。
スタイルリソースファイルで独自のThemeを定義する場合は、その親として Lock.Theme を指定し忘れたり、Activity に適用するThemeをManifestで指定し忘れたりすると、UI が非常に見栄えの悪いものになってしまうので注意してください。これは、独自のThemeに指定した値が無効な場合にも起こりえます。
サードパーティの接続のスタイルをカスタマイズするには、Custom Social Connections 拡張機能を使用して新しい接続を作成し、変更を保存する前に必須項目をすべて入力する必要があります。
Lock でサードパーティのアイデンティティプロバイダー接続のスタイルをカスタマイズするには、ビルダーを呼び出し、使用する connectionName と style の両方を渡します。
まず、Lock.Theme.AuthStyle. を拡張するカスタムスタイルを作成します。以下の例にならったキー名で、ロゴ、背景色、接続名を定義します。
builder の設定で、上書きしたい接続名に対応する AuthStyle を追加します。
builder.withAuthStyle("facebook", R.style.Style_Facebook) .build(...);
Lock がその接続を SocialButton に表示する必要がある場合、まずユーザーが上書きしたスタイルを探します。見つからない場合は、Lock のデフォルトスタイルが使用されます。上の例では、facebook には Facebook の背景色、Facebook のロゴ、そして名前として “FACEBOOK” が使用されます。