Size: a a a

Android Developers

2021 August 13

AF

Alexey First in Android Developers
Всех приветствую
Недавно я задавал вопрос о том, как сделать направленную тень для cardView, тобишь задать нужный угол. Ответ соответствовал тому что имеет на это гугл - никак, андройд по дефолту задает направление и рассеивание света, и стандартными способами тень задать нельзя

После этого я решил рисовать круглые края (shape) и тени (layer-list) отдельно друг от друга. Всё было в порядке, пока задача не повернулась в такую сторону: необходимо чтобы тени от одного объекта заходили под другие объекты

Теперь я уже не вижу никаких простых решений
Как по мне было два варианта:
   Обрезать ViewGroup с рамкой и тенью -> Но тогда мы получаем обрезанные страшные тени
   Укорачивать непосредственно длинну тени -> Но в таком случае глаз уже точно не обмануть. Тень никак не попадет под соседний контейнер
источник

AF

Alexey First in Android Developers
Есть ли те кто сведует в этом вопросе? Может какой-то фреймворк, аля простые тени на разных уровнях?
источник

ᴅᴍɪᴛʀɪʏ in Android Developers
источник

L

Leonid in Android Developers
Общий совет: не идти против системы.

Допустим, вы сделаете нестандартное поведение. А у Гугла в очередной раз сменится очередная концепция и вам придется всё переделывать.

Безотносительно теней. Попробуйте свой UI в режиме accessibility. Там чекбоксы правильно анонсируются?
источник

AF

Alexey First in Android Developers
Суть последнего абзаца об acessibility не понял. Я таким еще не пользовался. Можете уточнить, что должно пойти не так?
источник

AF

Alexey First in Android Developers
Благодарю.
А вы этим фреймворком пользовались? Он действительно позволяет создавать тень на независимом слое и регулировать угол направления для нее?
Я такого в описании не нашел..:/
источник

ᴅᴍɪᴛʀɪʏ in Android Developers
написано же как в CSS
источник

I

Ivansuper in Android Developers
Есть такие вещи как clipChildren и clipToPadding. Они помогают убрать поведение обрезки рисования того, что попадает за границы вью. Но так же надо убедиться, что у вью нет белых фонов, иначе оно будет перекрывать все равно
источник

I

Ivansuper in Android Developers
А вот мы все тут знаем CSS : )
источник

ᴅᴍɪᴛʀɪʏ in Android Developers
ну про тени как в CSS знать стоит

x, y, радиус

в фигме так тоже, в илюстраторе, везде
источник

AF

Alexey First in Android Developers
Теперь яснее, спасибо
источник

ᴅᴍɪᴛʀɪʏ in Android Developers
а вообще, я бы советовал обойтись без наложения теней, тени это и так не самая лёгкая операция, а считать наложения ещё сложнее
источник

AF

Alexey First in Android Developers
Спасибо. Но к сожалению, этот вариант работает только с дефолтными тенями.
Но благодарю, что просветили на счет такой возможности
источник

I

Ivansuper in Android Developers
Я не знаю о чем гугл думали когда тени публиковали. Залочили на свое поведение, хотя можно было спроектировать через какой-нибудь класс ShadowBehaviour
источник

AF

Alexey First in Android Developers
Да, это я еще промолчал о количестве контейнеров на экране в один момент. Это на пару тысяч строк в xml точно наберется, в самом загруженном фрагменте. В той реализации в которой у меня сейчас оно представлено
источник

AF

Alexey First in Android Developers
Бяда.
Всем спасибо за советы. Поможет мне в других проектах👍
источник

L

Leonid in Android Developers
Это режим для людей с ограниченными возможностями. По зрению, по координации движений и т.п.

Вкл/выкл одновременным нажатием кнопок регулирования громкости.
источник

AF

Alexey First in Android Developers
А. Понял. Тогда да, это приложение будет творить страшные вещи.
Благо оно у меня для сервисных работников и использование спец.возможностей не кажется необходимым
источник

ОВ

Ой Вей in Android Developers
у всех студия местами меняет виджеты в xml при форматировании?
источник

L

Leonid in Android Developers
Просто имейте это ввиду. Чем страннее контрол, тем хуже для всех, кроме дизайнера 😁
источник