Пользовательский заголовок для AccountPicker
newChooseAccountIntent()
метод из AccountPicker
позволяет настроить текст в AccountPicker
"диалог" (на самом деле Activity
в порядке descriptionOverrideText
аргумент:
public static Intent newChooseAccountIntent (Account selectedAccount, ArrayList<Account> allowableAccounts, String[] allowableAccountTypes, boolean alwaysPromptForAccount, String descriptionOverrideText, String addAccountAuthTokenType, String[] addAccountRequiredFeatures, Bundle addAccountOptions)
Но "диалог" также поставляется с заголовком, который по умолчанию установлен на "Выбрать учетную запись", например, согласно скриншоту, включенному в этот пост.
Как мне настроить этот заголовок или даже полностью удалить его? Дело не столько в том, что я хочу изменить формулировку, но в том, что я хочу иметь возможность переводить формулировку на другие языки... на данный момент не очень хороший пользовательский интерфейс для пользователей моего приложения, которые имеют все остальное на своем местном языке., но не название этого "диалога".
2 ответа
Я знаю, что прошло почти 5 лет с тех пор, как этот вопрос был задан, но недавно у меня была такая же проблема, и мне было трудно найти помощь. Наконец, я решил это. Вы не можете удалить или изменить заголовок. Что можно сделать, так это добавить описание под заголовком в виде String descriptionOverrideText, например:
public static Intent newChooseAccountIntent (null, null, new String[]{"com.google"}, false, "HERE ADD SOME TEXT", null, null, null)
Для AccountPicker используйте приведенный ниже код, чтобы изменить заголовок:
AccountPicker.newChooseAccountIntent(
AccountPicker.AccountChooserOptions.Builder()
.setAllowableAccountsTypes(Arrays.asList("com.google"))
.setTitleOverrideText("change the title here")
.build())