Как создать рециркуляционное представление для каждого элемента, содержащего 2 кнопки рядом с изображением в andorid - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь создать просмотрщик, где каждый элемент списка будет отображать изображение с двумя кнопками справа от изображения. Я пытался, но на самом деле не получаю там. Некоторая помощь была бы очень полезна.

Вот что я хочу:

enter image description here

Что я пробовал:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/imgVw_contact"
        android:layout_width="0dp"
        android:layout_height="@dimen/album_cover_height_details"
        android:layout_margin="5dp"
        android:layout_marginStart="4dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="4dp"
        android:layout_marginBottom="8dp"
        android:clickable="true"
        android:scaleType="fitXY"
        android:src="@mipmap/ic_launcher"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/txtVw_contactName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/imgVw_contact"
        android:layout_marginStart="8dp"
        android:layout_marginEnd="8dp"
        android:gravity="center"
        android:text="myColors"
        android:textColor="@color/album_title"
        android:textSize="@dimen/album_title"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/imgVw_contact" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:background="@drawable/ic_newok"
        app:layout_constraintBottom_toBottomOf="@+id/imgVw_contact"
        app:layout_constraintEnd_toEndOf="@+id/imgVw_contact"
        app:layout_constraintHorizontal_bias="0.931"
        app:layout_constraintStart_toStartOf="@+id/imgVw_contact"
        app:layout_constraintTop_toTopOf="@+id/imgVw_contact"
        app:layout_constraintVertical_bias="0.409" />


</android.support.constraint.ConstraintLayout>

и результат:

enter image description here

Я не могу найти причину, по которой изображения округляются.

Также я пытался использовать рисованный для фона кнопки, но независимо от того, что я создаю - новый актив изображения или векторный актив, он становится огромным, когда я использую его в качестве фона (как вы можете видеть на скриншоте).

Ответы [ 3 ]

0 голосов
/ 20 июня 2019

Хорошо, я понял. Я выяснил причины моих проблем.

выпуск 1: внутри mipmap есть файл ic_launcher.xml (anydpi), который имеет круглые углы. Поэтому, когда я устанавливал ic_launcher в качестве фона, он принимает это.

выпуск 2: изображения, используемые внутри кнопок, получают ширину кнопки на всю высоту и становятся огромными.

0 голосов
/ 22 июня 2019

Я вижу ваш макет.и попытаться сделать это.Вот код

Попробуйте это

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="200dp">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:src="@drawable/house1" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_alignParentRight="true"
        android:paddingRight="5dp"
        android:layout_centerVertical="true">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_highlight_off_black_24dp"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_vpn_key_black_24dp"/>
    </LinearLayout>
   </RelativeLayout>

   </LinearLayout>
0 голосов
/ 20 июня 2019

Вот дизайн, который вам нужен, используя ConstrainLayout -

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<ImageView
    android:id="@+id/imgVw_contact"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginStart="5dp"
    android:layout_marginTop="5dp"
    android:layout_marginEnd="5dp"
    android:layout_marginBottom="5dp"
    android:clickable="true"
    android:scaleType="fitXY"
    android:src="@mipmap/ic_launcher"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/txtVw_contactName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="5dp"
    android:layout_marginEnd="8dp"
    android:gravity="center"
    android:text="myColors"
    android:textStyle="bold"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toBottomOf="@id/imgVw_contact" />

<Button
    android:layout_marginTop="8dp"
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/ic_clear_black_24dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@id/btn"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/ic_check_circle_black_24dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent" />


</androidx.constraintlayout.widget.ConstraintLayout>

Соответствующее изображение макета -

Layout

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...