摆脱CardView的巨大差距

时间:2015-10-31 20:36:49

标签: android android-cardview

我是Android新手。在我的CardView中,TextView显示在底部。但是,我的要求就在ImageView的下方。

如下图所示,我想将文字移动到橙色位置。

XML代码:

<android.support.v7.widget.CardView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    card_view:cardCornerRadius="3dp"
    android:layout_marginTop="9dp"
    android:layout_marginLeft="9dp"
    android:layout_marginRight="9dp"
    card_view:cardElevation="0.01dp"
    android:layout_marginBottom="0dp">

    <RelativeLayout
        android:id="@+id/top_layout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <ImageView
            android:id="@+id/img_thumbnail"
            android:layout_width="fill_parent"
            android:layout_height="140dp"           
            android:scaleType="centerCrop"
            android:layout_marginBottom="50dp"/>

    <TextView
        android:id="@+id/tv_nature"
        android:layout_width="fill_parent"
        android:layout_height="25dp"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="2dp"
        android:paddingBottom="2dp"
        android:layout_gravity="top"
        android:alpha="0.8"
        android:textColor="#24B9FE"
        android:gravity="top"
        android:textSize="15sp"
        android:textStyle="bold"
        android:text="Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test"
        android:layout_below="@+id/img_thumbnail"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/tv_nature"
        android:layout_marginRight="31dp"
        android:background="#24B9FE"
        android:text="Book"
        android:textColor="#ffffff" />

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

enter image description here

1 个答案:

答案 0 :(得分:0)

删除ImageView的此属性:

android:layout_marginBottom="50dp"

因为此设置会在ImageView与TextView和Button之间产生很大的差距。

修改

除了删除上面的属性外,如果你想让TextView处于垂直中间位置, 你可以通过为TextView和Button的layout_marginTop和layout_marginBottom设置一定的等效余量来实现这一点。

<TextView
    android:layout_marginTop="25dp" 
    android:layout_marginBottom="25dp"
    ...