切换到横向模式时,RecyclerView正在切断最后一项

时间:2018-02-18 17:38:00

标签: android listview android-recyclerview

我在TabLayout中使用MainActivity,在第二个tab中我有一个RecyclerView,我成功将数据绑定到RecyclerView,所有内容是的,但是当我将屏幕旋转到横向模式时,Recycler的最后一项正在被切断,

问题如下:

这是纵向模式:

enter image description here

和横向模式:

enter image description here

这是我的XML文件:

片段布局:

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

    <android.support.v7.widget.RecyclerView
        android:id="@+id/cities_recycler_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="none"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginStart="5dp"
        android:layout_marginEnd="5dp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintRight_toRightOf="parent" />

</android.support.constraint.ConstraintLayout>

最后是RecyclerView项目:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.v7.widget.CardView
        android:id="@+id/card_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:layout_margin="5dp"
        android:elevation="3dp"
        card_view:cardCornerRadius="3dp"
        card_view:cardUseCompatPadding="true">

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

            <ImageView
                android:id="@+id/img_city"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:maxHeight="250dp"
                android:background="?attr/selectableItemBackgroundBorderless"
                android:clickable="true"
                android:scaleType="fitXY" />

        </RelativeLayout>

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

</LinearLayout>

我尝试将android:layout_marginBottom添加到de RecyclerView但无效。

感谢。

2 个答案:

答案 0 :(得分:0)

  
<android.support.constraint.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
xmlns:app="http://schemas.android.com/apk/res-auto"/>

 <android.support.v7.widget.RecyclerView 
android:id="@+id/cities_recycler_view" 
android:layout_width="match_parent" 
android:layout_height="0dp" 
android:scrollbars="none" 
android:layout_marginLeft="5dp" 
android:layout_marginRight="5dp" 
android:layout_marginStart="5dp" 
android:layout_marginEnd="5dp" 
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf ="parent"
 app:layout_constraintRight_toRightOf="parent" />
</android.support.constraint.ConstraintLayout>

答案 1 :(得分:0)

在为平板电脑开发应用程序时,我现在面临着同样的问题,这很烦人,没有答案,我找到了两种解决方案。

我认为它们一点也不好。

首先,您可以提供150dp之类的底部填充,也可以在布局的末尾创建高度为150dp的视图。