Предупреждение, ошибка в Android Honeycomb и Ice Cream Sandwich
Версии Android: 3.1 - 4.04 есть ошибка, из-за которой setTextSize () внутри TextView работает только 1-й раз (1-й вызов).
Ошибка описана здесь: http://code.google.com/p/android/issues/detail?id=22493 http://code.google.com/p/ android / questions / detail? id = 17343 # c9
Обходной путь - добавить символ новой строки в текст, назначенный TextView, перед изменением размера:
final String DOUBLE_BYTE_SPACE = "\u3000";
textView.append(DOUBLE_BYTE_SPACE);
Я использую его в своем следующий код:
final String DOUBLE_BYTE_SPACE = "\u3000";
AutoResizeTextView textView = (AutoResizeTextView) view.findViewById(R.id.aTextView);
String fixString = "";
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB_MR1
&& android.os.Build.VERSION.SDK_INT <= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
fixString = DOUBLE_BYTE_SPACE;
}
textView.setText(fixString + "The text" + fixString);
Я добавляю этот символ «\ u3000» слева и справа от моего текста, чтобы держать его по центру. Если он выровнен по левому краю, то добавьте только справа. Конечно, он также может быть встроен в виджет AutoResizeTextView, но я хотел сохранить код исправления снаружи.
Этот код взят с Processing.org, IDE на основе Java с открытым исходным кодом. Вы можете найти его Processing.org . Arduino IDE также использует это расширение, хотя они работают на аппаратной плате.
РЕДАКТИРОВАТЬ - И да, это синтаксис C, используемый в основном для художественных или живых презентаций.
Боюсь, плохие новости (или, может быть, отличные новости?): Это не код C, это пример «Processing» - языка с открытым исходным кодом, предназначенного для программирования изображений. Посмотрите здесь
Выглядит очень круто.