Android lista personalizada con espacio entre los elementos
¿Cómo puedo hacer un listview de la siguiente manera:
- Cómo configurar el tamaño y el diseño en onSizeChanged?
- Cómo obtener pantalla en negro mientras se desplaza en ListView en Android
- Cambiar el color del elemento de vista de lista seleccionado
- Detener el desplazamiento en una vista de lista
- OnItemClickListener consume eventos onClickListener
y una pregunta más sobre el diseño de la fila, tengo tal disposición
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="wrap_content" android:layout_height="100dp" android:background="@drawable/deals_list_row_gradient_background" android:orientation="horizontal" > <ImageView android:id="@+id/dealImg" android:layout_width="100dp" android:layout_height="100dp" android:layout_gravity="top" android:src="@drawable/test" /> <LinearLayout android:layout_width="match_parent" android:layout_height="100dp" android:orientation="vertical" > <TextView android:id="@+id/dealDescription" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginTop="5dp" android:text="Lorem Ipsum dolor sit amet dolor sed a ite amkt Lantin dolor latim dk kuitshen sed iditur anet" /> <TextView android:id="@+id/smth" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" android:text="...................................................." android:textAppearance="?android:attr/textAppearanceSmall" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/dealNewPrice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_marginRight="5dp" android:text="1248$" android:textColor="@color/deals_list_new_price" android:textSize="18sp" android:textStyle="bold" /> <TextView android:id="@+id/dealOldPrice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginRight="15dp" android:layout_toLeftOf="@+id/dealNewPrice" android:text="2500$" android:textColor="@color/deals_list_old_price" android:textSize="15sp" /> </RelativeLayout> </LinearLayout> </LinearLayout> </LinearLayout>
pero tengo problemas con imageview, no entiendo cómo será correctamente establecer su anchura y altura también mucha gente me dice que usar RalativeLayout es mala idea
- Añadir elementos a ListView - Android
- ¿Cómo enviar datos de una actividad a su fragmento padre?
- ¿Cambiar el estado del CheckBox en el elemento de lista?
- Establecer la casilla de verificación invisible a visible en la vista de lista
- ¿Cómo puedo quitar el botón de borrar en searchbox de listview?
- OnClick listener a una imagen ListView - Android
- ¿Cómo lleno un ListView (en Android) con datos XML o JSON?
- Refrescante adaptador al tirar de ListView en android
Usted puede hacer esto bastante fácilmente con el diseño de vista de lista modificada. He aquí cómo implementé:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/transparent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="@android:color/transparent" android:dividerHeight="10dp" /> </RelativeLayout>
Y aquí está la visión resultante:
Una cosa a tener en cuenta:
Esta captura de pantalla se tomó en un dispositivo xhdpi – puede ver un problema con sus líneas discontinuas. Considere el uso de un ShapeDrawable en su lugar y especifique android:dashGap
y android:dashWidth
.
utiliza estas dos líneas en tu listview en el xml:
android:divider="@android:color/transparent" android:dividerHeight="10px"
y para su Imageview pruebe estas dos adiciones:
<ImageView ... android:scaleType="fitCenter" android:adjustViewBounds="true" />
Está buscando la interfaz de usuario de estilo de tarjetas que se encuentra en Google Now, etc. Puede utilizar la tarjeta personalizada de la tarjeta para obtener un efecto similar. https://github.com/afollestad/Cards-UI
Establezca estas dos propiedades en su ListView, que proporcionará margen superior y inferior
android:divider="@android:color/transparent" android:dividerHeight="10dp"
y establecer
android:layout_margin="7dp"
a su ListView para obtener los márgenes izquierdo y derecho, dará el diseño deseado