Остановите 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