El borde inferior de CardView se corta dentro de ScrollView android

Estoy poniendo el cardview dentro de scrollview, esperamos ver que en la parte inferior, el borde debe ser mostrado (ver foto más abajo). Pero no lo es. El problema es que no puedo desplazarme a la parte inferior para ver el borde de cardview.

Todas las soluciones en SO es cambiar layout_margins a paddings, pero no es el caso de cardview si queremos mostrar el borde. Básicamente lo intenté todo. Pero aún no funciona. Desplazarse hacia abajo no puede ver el borde

Imagen 1. Desplácese hasta abajo no puede ver el borde

Podemos ver el borde superior

Imagen 2. Podemos ver el borde superior

A continuación se muestra el código xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:custom="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:fillViewport="true"> <android.support.v7.widget.CardView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="8dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > ... </LinearLayout> </CardView> </LinearLayout> 

Referencias: ScrollView no se desplaza al fondo

ScrollView corta la parte superior y deja espacio en la parte inferior

No puedo mostrar LinearLayout en la parte inferior para desplazarse por la vista

Android ScrollView se niega a desplazarse hasta la parte inferior

Me encontré con el mismo problema y tenía que hacer lo siguiente (la clave es el envoltorio LinearLayout alrededor del cardview donde he añadido el paddingBottom ):

 <ScrollView android:id="@+id/item_scrollview" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none" tools:visibility="visible"> <LinearLayout android:id="@+id/item_wrapper_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/content_margin" android:paddingBottom="32dp" android:orientation="vertical"> <android.support.v7.widget.CardView android:id="@+id/item_cardview" android:layout_width="match_parent" android:layout_height="wrap_content" card_view:cardBackgroundColor="@color/colorPrimary" card_view:cardCornerRadius="4dp" card_view:cardUseCompatPadding="true"> 

La adición de la envoltura LinearLayout alrededor del cardview es lo que funcionó para mí.

También tenga en cuenta, tuve que añadir card_view: cardUseCompatPadding = "true" en el cardview para obtener la sombra de frontera que parece correcta.

Aquí está el resultado final donde el recuadro rojo muestra dónde se ha añadido el relleno cuando la vista de tarjeta se expande y se desplaza hacia arriba.

captura de pantalla

Una solución que acabo de encontrar es envolver CardView con un LinearLayout o RelativeLayout y establecer su relleno. Por ejemplo, si desea algún efecto de sombra en cardView, digamos 8dp, puede establecer 4dp relleno de su LinearLayout o RelativeLayout y 4dp layout_margin de CardView.

  • ¿Es posible soportar una función setScrollY () (ScrollView API 14) como función para los antiguos niveles de API?
  • ScrollView no cambia de tamaño directamente después de cambios secundarios
  • Cómo desplazar el edittext dentro de la vista de desplazamiento
  • ¿Cómo cambiar el tamaño del contenido de una webview en android?
  • ¿Cómo deshabilitar el desplazamiento ScrollView?
  • Artículo Sticky ScrollView en la parte inferior - Android
  • Dificultad con ScrollView y LinearLayout
  • Uso de ImageView para una vista panorámica
  • Vista ScrollView con niños, cómo interceptar desplazamiento condicional
  • ScrollView dentro de la Galería, desplazándose independientemente
  • No se puede arrastrar la barra de búsqueda dentro de scrollview
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.