Android: AccountPicker Set Light Theme
Domanda
È possibile impostare il tema della finestra di dialogo Picker?
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);
.
Il mio tema dell'app di base è android:Theme.Light
ma quella finestra di dialogo è scuro.
Grazie.
Soluzione
Se si desidera modificare il tema della finestra di dialogo, è necessario modificare il newChooseAccountIntent
in zza
e aggiungere due argomenti interi.Il primo serve per sovrascrivere il tema e impostarlo a 1 cambierà il tema di dialogo alla luce.
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);
. Altri suggerimenti
È possibile modificarlo quando si sovrascrivi su qualsiasi argistenza sono definiti in una classe genitore in metodo newChooseAccountIntent(Account var0, ArrayList<Account> var1, String[] var2, boolean var3, String var4, String var5, String[] var6, Bundle var7) {}
È molto semplice cambiarlo aggiungendolo al tuo codice ...
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 significa il tema della luce
0 significa il tema oscuro