Диапазоны для радиуса в shadowRadius и видимости в TextView

Я хотел бы знать, каков точный диапазон радиуса в свойстве shadowRadius. В документации они только говорят, что это значение должно быть с плавающей запятой. Это хорошо, но каков диапазон радиуса в Android? Я имею в виду, как, например, установить радиус 120º?

Та же проблема с видимостью для TextView. В документации говорится, что я должен установить шестнадцатеричный код цвета #aarrggbb. Это хорошо, но опять же, каков диапазон видимости в Android? Значение 100 (= 64 в шестнадцатеричном формате) вообще не соответствует максимальной непрозрачности. Итак, каковы минимальные/максимальные значения непрозрачности в Android?


person thomaus    schedule 01.02.2011    source источник
comment
Вы должны принять ответы, нажав на галочку рядом с наиболее подходящим ответом...   -  person techiServices    schedule 10.02.2011


Ответы (2)


Радиус — это длина, а не угол, а диапазон непрозрачности — от 00 до FF с использованием #aarrggbb.

person techiServices    schedule 01.02.2011
comment
Спасибо за Ваш ответ. Мой математический английский не так хорош, поэтому я перепутал слова радиус и угол ;-) Насчёт непрозрачности я никогда раньше не пользовался таким способом её настройки, но теперь всё совершенно ясно. - person thomaus; 02.02.2011

На некоторых устройствах существует недокументированное ограничение диапазона для свойства shadowRadius: 0-25.

Например, если вы превысите 25 на планшете Lenovo A3500, в LogCat появится следующее:

E/rsC++(14127): RS CPP error: Blur radius out of 0-25 pixel bound
E/rsC++(14127): RS CPP error (masked by previous error): Allocation creation failed
E/rsC++(14127): RS CPP error (masked by previous error): Allocation creation failed

И ваше приложение будет жестко завершать работу, не вызывая исключения, на которое вы могли бы отреагировать.

Мне нравится, как Android справляется с такими вещами...

(Также см. этот вопрос: Android — Сигнал 11, ошибка RS CPP: радиус размытия выходит за пределы 0–25 пикселей)

person Markus A.    schedule 20.07.2015
comment
Я видел то же самое на телефоне LG L90. Никаких исключений, никаких видимых ошибок, только 3 строки в logcat. Поскольку диапазон недокументирован и, по-видимому, невидим для JVM, это заставляет меня думать, что он может меняться между устройствами (или, например, между наборами микросхем). Этого достаточно, чтобы я вообще перестал использовать shadowRadius. РЕДАКТИРОВАТЬ: Это открытая проблема: code.google.com/p/android /issues/detail?id=73886 - person Steve Blackwell; 04.06.2016