Android :AccountPicker définit le thème clair
Question
Est-il possible de définir le thème de la boîte de dialogue du sélecteur ?
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);
Le thème de mon application de base est android:Theme.Light
mais ce dialogue est sombre.Merci.
La solution
Si vous souhaitez changer le thème de la boîte de dialogue, vous devez changer le newChooseAccountIntent
à zza
et ajoutez deux arguments entiers.Le premier sert à remplacer le thème et le définir sur 1 changera le thème de la boîte de dialogue en clair.
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);
Autres conseils
vous pouvez le modifier lorsque vous écrasez des arguments définis dans une classe parent dans la méthode newChooseAccountIntent(Account var0, ArrayList<Account> var1, String[] var2, boolean var3, String var4, String var5, String[] var6, Bundle var7) {}
il est très simple de le changer en l'ajoutant à votre code...
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 signifie le thème léger
0 signifie le thème sombre