Badge в TextView
Всем привет,
Имеется RecyclerView, в нем находятся n-количество cells. Каждая cell имеет TextView.
Как можно нарисовать точку на этом TextView, но что бы она была поверх этого cell ?
P.S padding между cell не должен быть, так получилось нарисовать.
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Как вариант можно создать свою разметку для элемента списка с учетом ваших требований. Вот например простые квадраты:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="100dp"
android:layout_height="100dp">
<TextView
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="top|left"
android:background="@android:color/holo_blue_light"
android:gravity="center"
android:text="First is below"/>
<TextView
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="bottom|right"
android:background="@android:color/holo_green_light"
android:gravity="center"
android:text=" Last is on top"/>
</FrameLayout>
вот как выглядит:
Вот есть вопрос-первоисточник. По сути вам нужно создавать такую штуку самому:
- Сделать одну вьюху поверх другой.
- Засетить фон из drawable который
- Подогнать по расположеню
Вот если сделать все что описано выше получается такая разметка элемента списка:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:padding="10dp"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:background="@android:color/holo_blue_light"
android:gravity="center"
android:layout_marginTop="10dp"
android:text="Some text" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|end"
android:background="@drawable/test"
android:padding="5dp"
android:gravity="center"
android:text="20" />
</FrameLayout>
вот drawable фон:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="1dp"
android:color="#f00" />
<solid android:color="#f00" />
<corners
android:bottomLeftRadius="20dp"
android:bottomRightRadius="20dp"
android:radius="5dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp" />
</shape>
вот итог:
ну а дальше уже сетите это все в адаптере списка и подгоняете размеры.


