Android:AccountPicker设置Light Theme

时间:2014-02-26 16:51:07

标签: android google-play-services android-theme google-authenticator android-authenticator

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

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,但该对话框很暗。 感谢。

3 个答案:

答案 0 :(得分:9)

如果您想更改对话框的主题,则应将newChooseAccountIntent更改为zza并添加两个整数参数。第一个用于覆盖主题并将其设置为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);

答案 1 :(得分:2)

您可以在覆盖方法newChooseAccountIntent(Account var0, ArrayList<Account> var1, String[] var2, boolean var3, String var4, String var5, String[] var6, Bundle var7) {}

中的父类中定义的任何args时更改它

通过将其添加到您的代码中来更改它非常简单...

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表示黑暗主题

答案 2 :(得分:-2)

当您宣布您的Accountpicker时(我对AccountPicker不太了解)您可以设置主题,但也可能是这个主题,因为它是由系统

编辑:原因是

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/themes.xml

但我认为你可以修改它:)