Size: a a a

Android Developers

2020 July 14

AL

Aleksandr Litvinchuc... in Android Developers
можешь скрин скинуть onDraw?
источник

AL

Aleksandr Litvinchuc... in Android Developers
я помогу
источник

A

Andrew in Android Developers
У меня сейчас стрелка и компас отдельно нарисованы, как два разных класса. Что скинуть?
источник

AL

Aleksandr Litvinchuc... in Android Developers
то есть стрелка это один наследник вью а сам компас другое вью ?
источник

AL

Aleksandr Litvinchuc... in Android Developers
или это все одна вью ?
источник

A

Andrew in Android Developers
Aleksandr Litvinchuck
то есть стрелка это один наследник вью а сам компас другое вью ?
Да, и так работает. Компас крутится, а стрелка нет, только я считаю, что это иррационально и хочу сделать одним классом
источник

A

Aleksandr in Android Developers
на картинке две части: одна статичная, вторая динамическая. Логично создать свою вьюху, унаследовавшись от ViewGroup. Грубо говоря, в фоне у нее будет статичная часть и ее не нужно перерисовывать, а сверху отрисуешь динамическую
источник

LB

Leonid Belyakov in Android Developers
Всем привет!

Столкнулся с проблемой при попытке сделать CardView полупрозрачной.

После установки cardBackgroundColor="#B0000000" под cardView начал отрисовываться белый прямоугольник (на скрине).

Подскажите, пожалуйста, как от него можно избавиться🙏

P.S. я так понимаю, проблема связана с отрисовкой тени, т.к. при установке cardElevation="0dp" или outlineProvider="none" прямоугольник исчезает (но и тень тоже)
источник

A

Andrew in Android Developers
Aleksandr
на картинке две части: одна статичная, вторая динамическая. Логично создать свою вьюху, унаследовавшись от ViewGroup. Грубо говоря, в фоне у нее будет статичная часть и ее не нужно перерисовывать, а сверху отрисуешь динамическую
Тааак, уже теплее. Каким способом отрисовать две части? Или это в унаследовании от ViewGroup позволяет это сделать?
источник

КР

Кирилл Романенко... in Android Developers
Anton Potekhin
Я делал вот так при инициализации вьюхи которая в viewholder сидит:

ViewGroup.LayoutParams layoutParams = mBinding.getRoot().getLayoutParams();
if (layoutParams == null) {
   
layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT);
}
this.setLayoutParams(layoutParams);
Не помогло.
источник

AL

Aleksandr Litvinchuc... in Android Developers
проще одну вьюху сделать
источник

A

Aleksandr in Android Developers
У ViewGroup свой канвас и внутри него еще одна вьюха со своим канвасом
источник

AL

Aleksandr Litvinchuc... in Android Developers
Leonid Belyakov
Всем привет!

Столкнулся с проблемой при попытке сделать CardView полупрозрачной.

После установки cardBackgroundColor="#B0000000" под cardView начал отрисовываться белый прямоугольник (на скрине).

Подскажите, пожалуйста, как от него можно избавиться🙏

P.S. я так понимаю, проблема связана с отрисовкой тени, т.к. при установке cardElevation="0dp" или outlineProvider="none" прямоугольник исчезает (но и тень тоже)
да надо свой outlineprovider
источник

A

Andrew in Android Developers
Aleksandr
У ViewGroup свой канвас и внутри него еще одна вьюха со своим канвасом
Хороший способ. Но только это же будет 2 объекта? Одним объектом нельзя запилить?
источник

AP

Anton Potekhin in Android Developers
А у тебя RV height wrap_content?
источник

A

Aleksandr in Android Developers
это сделаешь одним объектом - кастомной вьюхой
источник

КР

Кирилл Романенко... in Android Developers
Anton Potekhin
А у тебя RV height wrap_content?
Да. Но march parent не помогает.
источник

AP

Anton Potekhin in Android Developers
А VP2 какое height ?
источник

A

Aleksandr in Android Developers
двигаться должна только динамическая часть. А остальная картинка стабильная. Поэтому постоянно перерисовывать весь экран более затратно
источник

A

Andrew in Android Developers
Aleksandr
это сделаешь одним объектом - кастомной вьюхой
Я наследуюсь от ViewGroup и рисую там окантовку, а также делаю еще один класс, в котором рисую стрелку и в итоге это же два класса
источник