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

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 但这个对话是黑暗的。谢谢.

有帮助吗?

解决方案

如果您想更改对话框的主题,您应该更改 newChooseAccountIntentzza 并添加两个整数参数。第一个是复盖主题并将其设置为1将对话框主题更改为light。

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);

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top