Как сделать так, чтобы фокусируемая область кликабельного элемента была не прямоугольной angular в RecyclerView - PullRequest
0 голосов
/ 06 февраля 2020

Я получил дизайн, подобный этому

enter image description here

По умолчанию область с возможностью нажатия / фокусировки элемента в listView / recyclerView является прямоугольным angular или квадратным .

Как это изменить?

Как создать адаптер с фокусируемой областью элемента в RecyclerView, как на этом рисунке

Нужна помощь относительно XML файла макета и кода адаптера,

Заранее спасибо

1 Ответ

0 голосов
/ 07 февраля 2020

вы можете справиться с этим, используя XML, ваш элемент должен быть FrameLayout, который содержит два LinearLayout или что вам нужно, идея состоит в том, что два представления должны иметь одинаковое измерение друг над другом, представление в фоне имеет цвет фона следующего элемента, и вид на лицевой стороне имеет другой фон, но имеет левый нижний угол, как в примере,

фон вида на лицевой стороне должен находиться в папке для рисования.

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <solid android:color="#ff0000" />
    <corners android:bottomLeftRadius="75dp"/>
</shape>

вид элемента

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="150dp">
      ///////////// just a background has the same color of next element 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:background="@color/next_view_color"
        android:id="@+id/background_color"
        android:orientation="vertical"></LinearLayout>
        /////////you item container 
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:id="@+id/container"
        android:background="@drawable/background_cell">
        /////////// but your item view here 
    </LinearLayout>
</FrameLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...