0
votes

Comment concevoir un recyclerview avec chaque élément contenant 2 boutons à côté d'une vision d'image dans Andorid

J'essaie de créer un recyclerview dans lequel chacun des éléments de la liste affichera une vue d'ensemble d'images avec 2 boutons à droite de l'imageView. J'ai essayé mais pas vraiment y arriver. Une certaine aide serait vraiment géniale.

Voici ce que je veux:

Entrez la description de l'image ici

Qu'est-ce que j'ai essayé: xxx

et le résultat est:

Entrez la description de l'image ici

Je ne peux pas trouver une raison pour laquelle le Les images se font rond.

J'ai aussi essayé d'utiliser un fond de bouton dessinable, mais peu importe ce que je crée un nouvel actif d'image ou un nouvel actif, il devient énorme lorsque je l'utilise comme arrière-plan (comme vous pouvez le voir dans la capture d'écran).


6 commentaires

Êtes-vous à l'aise pour passer à relativenelayout de contraintelayout


Cela ne me dérange pas mais je pensais que les mises en page des contraintes sont plus pratiques.


Puis laissez-moi vous aider avec relativenelayout


Ce serait formidable si cela contribue à mes problèmes, image: image-image montre une image ronde et que mes actifs d'image / vectoriels créés deviennent énormes.


Avez-vous besoin de TextView


ahh désolé. J'ai oublié de le mettre dans mon exemple d'image. Serait génial si je peux obtenir un TextView aussi


3 Réponses :


0
votes

Voici la conception dont vous avez besoin en utilisant ContrainLayout -

<?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>


2 commentaires

Est-ce que ça va si j'utilise la bibliothèque de support Android contraintlayout au lieu d'Androidx contraintlayout?


Oui, ça va bien que vous deviez passer à Androidx



0
votes

Ok je l'ai eu. J'ai découvert les raisons de mes problèmes.

Problème 1: Il y a un IC_Launcher.xml (AnyDPI) à l'intérieur de MIPMAP, qui est à virement rond. Donc, quand je définiais ic_launcher comme arrière-plan, cela prend celui-ci.

Numéro 2: Les images utilisées à l'intérieur des boutons obtiennent la largeur de la hauteur de la pleine hauteur et devient énorme.


0 commentaires

0
votes

J'ai vu votre mise en page. et essayez de le faire. Voici le code

essayez ceci

xxx


0 commentaires