随着列表位置的增加,海拔高度也增加。

7
我有一个带有CardView的recyclerview。即使我没有明确指定高度,当项目到达屏幕底部时,高度会增加。我从未在其他地方看到过这种行为,这可能是由什么引起的?

enter image description here

<android.support.v7.widget.CardView
    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:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/card_layout"
    app:cardElevation="6dp"
    app:cardPreventCornerOverlap="false"
    app:cardUseCompatPadding="true"
    android:foreground="?android:attr/selectableItemBackground"
    android:fitsSystemWindows="true"
    android:layout_marginLeft="4dp"
    android:layout_marginRight="4dp"
    >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/schedule_card_height"
        android:orientation="horizontal">

        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1">

            <TextView
                android:id="@+id/schedule_item_category"
                style="@style/Base.TextAppearance.AppCompat.Caption"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:background="@drawable/background_eventlist_category"
                android:gravity="center"
                android:padding="5dp"
                android:textAllCaps="true"
                tools:text="Interview"/>
        </RelativeLayout>

        <View android:layout_height="match_parent"
              android:layout_width="1dp"
              android:background="@color/colorIcons"

              />

        <RelativeLayout
            android:id="@+id/schedule_item_actions"
            android:layout_width="0dp"
            android:layout_weight="2"
            android:layout_height="wrap_content"
            android:background="@drawable/rounded_white"
            android:padding="12dp">

            <ProgressBar
                android:id="@+id/schedule_item_progress"
                style="?android:attr/progressBarStyle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:visibility="gone"/>


            <TextView
                android:id="@+id/schedule_item_title"
                style="@style/TextAppearance.AppCompat.Subhead"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="top|center_vertical"
                android:layout_alignParentLeft="true"
                android:layout_above="@+id/schedule_item_date"
                android:layout_alignParentTop="true"
                android:layout_toLeftOf="@+id/schedule_item.popup"
                android:ellipsize="end"
                android:maxLines="2"
                tools:text="Awesome event because i say so"/>

            <TextView
                android:id="@+id/schedule_item_date"
                style="@style/TextAppearance.AppCompat.Caption"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center_vertical"
                android:layout_alignParentLeft="true"
                android:layout_alignParentEnd="true"
                android:layout_alignParentBottom="true"
                android:ellipsize="end"
                android:textAllCaps="true"
                android:maxLines="1"
                tools:text="25th April, 5PM (GMT)"/>

            <ImageView
                android:id="@+id/schedule_item.popup"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentEnd="true"
                android:src="@drawable/ic_dots"/>

        </RelativeLayout>

    </LinearLayout>

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

我刚刚发布了它。 - MichelReap
1
是的,我只是在测试,无论我是否放置它,它都会发生。 - MichelReap
嗨,试试这个:android:maxCardElevation="6dp" - ND1010_
@SRBbans,但我没有看到其他应用程序出现这个问题。 - MichelReap
显示剩余13条评论
2个回答

0

灯光位于设备顶部某处,向下倾斜朝向显示屏,因此物品越靠下,阴影距离就越大。


我想他正在使用自拍闪光灯.. :D 但逻辑很扎实。 - SRB Bans

0
    <LinearLayout
            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:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">  
      <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/card_layout"
            app:cardElevation="6dp"
            app:cardPreventCornerOverlap="false"
            app:cardUseCompatPadding="true"
            android:foreground="?android:attr/selectableItemBackground"
            android:fitsSystemWindows="true"
            android:layout_marginLeft="4dp"
            android:layout_marginRight="4dp"
            >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="@dimen/schedule_card_height"
                android:orientation="horizontal">

                <RelativeLayout
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1">

                    <TextView
                        android:id="@+id/schedule_item_category"
                        style="@style/Base.TextAppearance.AppCompat.Caption"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerInParent="true"
                        android:background="@drawable/background_eventlist_category"
                        android:gravity="center"
                        android:padding="5dp"
                        android:textAllCaps="true"
                        tools:text="Interview"/>
                </RelativeLayout>

                <View android:layout_height="match_parent"
                      android:layout_width="1dp"
                      android:background="@color/colorIcons"

                      />

                <RelativeLayout
                    android:id="@+id/schedule_item_actions"
                    android:layout_width="0dp"
                    android:layout_weight="2"
                    android:layout_height="wrap_content"
                    android:background="@drawable/rounded_white"
                    android:padding="12dp">

                    <ProgressBar
                        android:id="@+id/schedule_item_progress"
                        style="?android:attr/progressBarStyle"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentRight="true"
                        android:visibility="gone"/>


                    <TextView
                        android:id="@+id/schedule_item_title"
                        style="@style/TextAppearance.AppCompat.Subhead"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="top|center_vertical"
                        android:layout_alignParentLeft="true"
                        android:layout_above="@+id/schedule_item_date"
                        android:layout_alignParentTop="true"
                        android:layout_toLeftOf="@+id/schedule_item.popup"
                        android:ellipsize="end"
                        android:maxLines="2"
                        tools:text="Awesome event because i say so"/>

                    <TextView
                        android:id="@+id/schedule_item_date"
                        style="@style/TextAppearance.AppCompat.Caption"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center_vertical"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentEnd="true"
                        android:layout_alignParentBottom="true"
                        android:ellipsize="end"
                        android:textAllCaps="true"
                        android:maxLines="1"
                        tools:text="25th April, 5PM (GMT)"/>

                    <ImageView
                        android:id="@+id/schedule_item.popup"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentEnd="true"
                        android:src="@drawable/ic_dots"/>

                </RelativeLayout>

            </LinearLayout>

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

这基本上是将一个LinearLayout包裹在CardView中,对吧? - MichelReap

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接