8
respostas

Listar os itens da lista em CardView

Como mostrar cada item da lista de alunos em CardView?

8 respostas

Olá Leandro,

Para mostrar os itens em card views, você só precisa alterar o XML que representa o item da sua lista e colocar os campos do aluno dentro da tag de um CardView.

mas como deixar cada item da lista um pouco mais separado um do outro?

Você pode utilizar o atributo paddingBottom no CardView para criar um espaçamento adicional abaixo de cada card view.

coloquei da forma que me sugeriu mas mesmo assim, na lista dos estudantes cadastrados, os cardview nao se separam.

porque?

Posta aqui o XML do seu layout do item da lista pra gente ver se tem algo estranho.

<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    app:cardCornerRadius="10dp"
    android:paddingBottom="10dp"
    app:cardElevation="20dp"
    android:layout_margin="16dp">

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:src="@drawable/person"
        android:id="@+id/item_foto"/>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center_vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/item_nome"
        android:textSize="20sp"
        android:textStyle="bold"
        android:paddingLeft="10dp"/>


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/item_telefone"
        android:textSize="16sp"
        android:paddingLeft="10dp"
        android:paddingTop="8dp"/>

    </LinearLayout>


</LinearLayout>

    </android.support.v7.widget.CardView>

Ok Leandro, tem mais uma propriedade que pode ajudar, basta você adicionar junto com as outras propriedades do CardView:

app:cardUseCompatPadding="true"

De acordo com a documentação, essa propriedade serve para adicionar o padding (espaçamento) no CardView e também serve para fazer com que as medidas sejam mantidas independente da versão do Android utilizada.

fica como se tivesse uma linha entre os itens. e também não desgruda das laterais, mesmo utilizado o padding e o margin