0

我在我的应用程序中使用CardStackView。我已经编辑了布局,以便在选择卡片时可以获得全高卡片。

<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/linear_list_card_item"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    app:stackHeaderHeight="160dp">

    <FrameLayout
        android:id="@+id/frame_list_card_item"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.99"
        android:background="@drawable/shape_rectangle_with_radius">

        <TextView
            android:id="@+id/text_list_card_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="20dp"
            android:textColor="@android:color/white"
            android:textSize="40sp"
            android:textStyle="bold"
            tools:text="12" />
    </FrameLayout>

    <View
        android:id="@+id/gab"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.01"
        android:animateLayoutChanges="true">

    </View>

</LinearLayout>

我要做的是在所选卡片和它下面的堆栈之间添加一个空格。 如何获得所需的输出?

4

1 回答 1

1

我试图回答这个问题,曾几何时,我遇到过这个问题。

您必须使用 PercentRelativeLayout 提供卡片的高度。

  <android.support.percent.PercentRelativeLayout 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:id="@+id/linear_list_card_item"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        app:stackHeaderHeight="160dp">

        <FrameLayout
            android:id="@+id/frame_list_card_item"
            android:layout_width="match_parent"
            android:background="@drawable/shape_rectangle_with_radius"
            app:layout_heightPercent="90%">

            <TextView
                android:id="@+id/text_list_card_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="20dp"
                android:textColor="@android:color/white"
                android:textSize="40sp"
                android:textStyle="bold"
                tools:text="12" />
        </FrameLayout>

        <View
            android:id="@+id/gab"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.01"
            android:animateLayoutChanges="true"
            android:visibility="gone">

        </View>

    </android.support.percent.PercentRelativeLayout>

不要忘记在 build.gradle (Module:app) 中添加这一行

dependencies {
    compile 'com.android.support:percent:23.3.0'
}
于 2018-02-23T10:07:28.527 回答