8

是否可以设置选择器对话框的主题?

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,但该对话框是黑暗的。谢谢。

4

2 回答 2

9

如果你想改变对话框的主题,你应该改变newChooseAccountIntenttozza并添加两个整数参数。第一个用于覆盖主题并将其设置为 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);
于 2015-08-21T11:39:19.340 回答
3

您可以在覆盖方法中父类中定义的任何参数时更改它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 表示黑暗主题

于 2018-04-28T15:31:05.673 回答