我是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>
答案 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"
...