アンドロイド:AccountPicker がライト テーマを設定
質問
ピッカーダイアログのテーマを設定することはできますか?
import com.google.android.gms.common.AccountPicker;
....
String[] accountTypes = new String[]{"com.google"};
Intent intent = AccountPicker.newChooseAccountIntent(null, null,
accountTypes, false, null, null, null, null);
activity.startActivityForResult(intent, REQUEST_CODE_PICK_ACCOUNT);
私のベースアプリのテーマは android:Theme.Light
しかし、そのダイアログは暗いです。ありがとう。
解決
ダイアログのテーマを変更したい場合は、newChooseAccountIntent
をzza
に変更し、2つの整数引数を追加してください。最初のものはテーマを上書きし、それを1に設定するためのものであり、ダイアログのテーマを光に変更します。
String[] accountTypes = new String[]{"com.google"};
Intent intent = AccountPicker.zza(null, null, accountTypes, false, null, null, null, null, false, 1, 0);
startActivityForResult(intent, REQUEST_CODE_PICK_ACCOUNT);
. 他のヒント
メソッドの親クラスで定義されている引数を上書きするときに変更できます newChooseAccountIntent(Account var0, ArrayList<Account> var1, String[] var2, boolean var3, String var4, String var5, String[] var6, Bundle var7) {}
コードに追加するだけで簡単に変更できます...
Intent intent = AccountPicker.newChooseAccountIntent(null, null,
new String[]{GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE},
false, null, null, null, null).
putExtra("overrideTheme", 1);
startActivityForResult(intent, REQUEST_CODE_EMAIL);
1 はライトテーマを意味します
0はダークテーマを意味します