Можно ли замаскировать виды? Например, если у меня есть проект, который требует, чтобы вид списка был видимым в овальной форме. Есть ли способ создать маску для представления? Это называется чем-то еще? Поскольку все ссылки, которые я нахожу для маскирования в документах android, говорят о маскировке объекта canvas или drawable. Но я не думаю, что создание привлекательного интерактивного объекта, такого как List View, будет хорошим подходом. Разве это просто ограничение?Можно ли замаскировать вид в андроиде?
15
A
ответ
30
Да, это - вы должны переопределить метод рисования вашей точки зрения - то есть:
......
final Path path = new Path();
path.addRoundRect(new RectF(0,0,getWidth(),getHeight()),10,10,Direction.CW);
......
@Override
protected void dispatchDraw(Canvas canvas){
canvas.clipPath(path);
super.dispatchDraw(canvas);
}
это привлечет Ваше мнение только в границах, установленных пути.
10
Да, вы можете даже маскировать полные макеты. Shameless selfplug
<com.christophesmet.android.views.maskableframelayout.MaskableFrameLayout
android:id="@+id/frm_mask_animated"
android:layout_width="100dp"
app:porterduffxfermode="DST_IN"
app:mask="@drawable/animation_mask"
android:layout_height="100dp">
<ImageView android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/unicorn"/>
Вы можете найти его here
Смежные вопросы
- 1. Можно ли замаскировать CALayer в iPhone?
- 2. Можно ли замаскировать div с волновой структурой
- 3. Можно ли замаскировать изображение в Python Imaging Library (PIL)?
- 4. Можно ли переопределить равные на андроиде?
- 5. Можно ли получить цвет пикселя в андроиде?
- 6. Можно ли использовать ресурсы цвета в андроиде?
- 7. Можно ли сделать мастер-макет в андроиде?
- 8. Можно ли отключить домашнюю кнопку в андроиде?
- 9. Создайте динамический вид в андроиде?
- 10. это можно немного замаскировать массив символов
- 11. Можно ли замаскировать анимационный клип? Flash as3 cs4
- 12. Можно ли замаскировать изображение встроенным svg, нарисованным дорожкой?
- 13. Можно ли полностью замаскировать пароль с помощью JLine?
- 14. создать вид cardview в андроиде
- 15. как удалить вид в андроиде
- 16. Прокручиваемый вид плитки в андроиде
- 17. Можно ли нарисовать вертикальную линию в середине списка в андроиде?
- 18. Можно ли обновить вид фрагмента
- 19. Можно ли обновить простой вид?
- 20. NGINX замаскировать URL перенаправления
- 21. двигающиеся и вращающийся вид в андроиде
- 22. Как сделать двухсторонний прокручиваемый вид в андроиде?
- 23. Пытается раздвинуть выдвижной ящик Вид в андроиде?
- 24. Можно ли повернуть вид в Appcelerator?
- 25. Можно ли отображать мобильный вид в курьере?
- 26. Возможно ли разместить один вид над другим в андроиде?
- 27. Изменяет ли цвет фона в андроиде внешний вид виджета?
- 28. Возможно ли сделать вид невидимым, как окно в андроиде?
- 29. Как можно замаскировать определенное окно или область в видео
- 30. вид parallaxscroll в андроиде не работает
Вы также можете создавать любые «маски» эффект, который вы хотите, и просто положить его в свой собственный взгляд и положить его наверх/перед видом на вопрос , Если вам нужен этот эффект только для одного конкретного вида, это избавит вас от необходимости создавать собственные представления и редактировать методы рисования. – FoamyGuy
Это было бы неправильно, Тим. Вы замедляете свое приложение, создавая совершенно ненужную иерархию представлений на мобильной платформе, где производительность имеет решающее значение. – asenovm
Я согласен, что это приведет к ухудшению производительности. Я утверждаю, что если он применяет его к 1 виду внутри 1 активности, разница в производительности будет незаметной для человеческого глаза на устройствах, которые там есть. И что делать это с отдельными представлениями может показаться менее сложным для некоторых людей, чем попытка создать собственное представление, чтобы они могли переопределить методы рисования. Я знаю, что делать такие вещи становится тривиальным, когда вы получили несколько под вашим поясом. Но если вы никогда этого не делали раньше, мне кажется, что это может быть немного сложнее. – FoamyGuy