Остановите ToggleButton Text Capitalization в API 10

Я хочу, чтобы текст моего ToggleButton не был написан заглавными буквами API 10.

Я знаю, что могу использовать setAllCap(false) остановить блокировку Cap кнопки Toggle, но как я могу сделать то же самое на уровне API 10, так как setAllCap(false) поддерживается только на уровне API 14, который является бутербродом с мороженым.

пс. На случай, если кому-то интересно, зачем я это делаю. (Я знаю, что должен задать только один вопрос, но это может помочь кому-то еще с другими проблемами)

Я пытаюсь имитировать вкладки внутри фрагмента с помощью TableLayout с первым рядом в качестве кнопок переключения, и изменяет второй ряд при переключении этих кнопок. (Я думаю, что FragmentTabHost на данный момент проблематичен и слишком сложен для моего случая использования). Все работает, кроме текста кнопки всегда в верхнем регистре.

2 ответа

Ты можешь позвонить ToggleButton.setTextOn() а также ToggleButton.setTextOff() и поставьте свою собственную строку. Из того, что я могу видеть из реализации ToggleButton, это не автоматически заглавные строки, установленные таким образом.

Я не уверен, используете ли вы последнюю версию библиотеки поддержки. Вы можете взять AllCapsTransformationMethodCompat.java и применить setAllCaps(false) следующим образом:

AllCapsTransformationMethodCompat.setAllCaps(textViewInstance, true); - капитализировать все

AllCapsTransformationMethodCompat.setAllCaps(textViewInstance, text, false); - сохранить оригинальный текст

В библиотеке поддержки 21.0+ есть такой же бэкпорт этого MethodTransformation

Другие вопросы по тегам