Android 安卓元素在相对论中的定位
我有Android 安卓元素在相对论中的定位,android,android-layout,Android,Android Layout,我有RelativeLayout和CardView, 其中放置有:ImageView,TextView1,TextView2。 这3个元素需要放置在soImageView 必须保留,TextView1和TextView2 在它的右边TextView2按到CardView的底部, 同时在TextView1的下方(如果TextView1有很多文本)。 现在关于前两个要素没有问题了, 但是3(第二个TextView)有问题: 或者它被压到底部,但是它被第一个TextView重叠(如果第一个TextVi
RelativeLayout
和CardView
,
其中放置有:ImageView
,TextView1
,TextView2
。
这3个元素需要放置在soImageView
必须保留,TextView1
和TextView2
在它的右边<必须将code>TextView2按到CardView
的底部,
同时在TextView1
的下方(如果TextView1
有很多文本)。
现在关于前两个要素没有问题了,
但是3(第二个TextView
)有问题:
或者它被压到底部,但是它被第一个TextView
重叠(如果第一个TextView
有很多文本),或者它在TextView 1
的下面,但是它没有压到底部。布局:
<android.support.v7.widget.CardView
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/colorBackground">
<RelativeLayout
android:id="@+id/card_view_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<ImageView
android:id="@+id/news_photo"
android:layout_width="@dimen/news_card_view_width"
android:layout_height="@dimen/news_card_view_height"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:contentDescription="@string/news_card_view_photo" />
<TextView
android:id="@+id/news_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/news_photo"
android:layout_toRightOf="@+id/news_photo"
android:textSize="16sp" />
<TextView
android:id="@+id/news_date"
android:textColor="@color/text_labels"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@+id/news_title"
android:layout_toRightOf="@+id/news_photo"
android:layout_toEndOf="@+id/news_photo"/>
</RelativeLayout>
</android.support.v7.widget.CardView>
将安卓:gravity=“bottom”
添加到新闻\u日期
文本视图
<TextView
android:id="@+id/news_date"
android:textColor="@color/text_labels"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@+id/news_title"
android:layout_toRightOf="@+id/news_photo"
android:layout_toEndOf="@+id/news_photo"
android:gravity="bottom"/>
添加android:gravity=“bottom”
到news\u date
TextView
<TextView
android:id="@+id/news_date"
android:textColor="@color/text_labels"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@+id/news_title"
android:layout_toRightOf="@+id/news_photo"
android:layout_toEndOf="@+id/news_photo"
android:gravity="bottom"/>
您可以改用线性布局。在ImageView中有一个水平线性布局,在TextView 1和TextView 2中有一个垂直线性布局
然后,在内衬布局中,在TextView1之后添加一个重量为1、高度为0dp的视图(填充),以将TextView2推到底部。或者为每个(TextView1、View和TextView2)设置权重,以适当设置高度比例。见下文:
<LinearLayout
android:id="@+id/horizontal_linear_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="fill_parent"/>
<LinearLayout
android:id="@+id/vertical_linear_layout"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/text_view_1"
android:layout_width="wrap_content"
android:layout_height="50dp"/>
<View
android:id="@+id/filler"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:id="@+id/text_view_2"
android:layout_width="wrap_content"
android:layout_height="50dp"/>
</LinearLayout>
</LinearLayout>
您可以改用线性布局。在ImageView中有一个水平线性布局,在TextView 1和TextView 2中有一个垂直线性布局
然后,在内衬布局中,在TextView1之后添加一个重量为1、高度为0dp的视图(填充),以将TextView2推到底部。或者为每个(TextView1、View和TextView2)设置权重,以适当设置高度比例。见下文:
<LinearLayout
android:id="@+id/horizontal_linear_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="fill_parent"/>
<LinearLayout
android:id="@+id/vertical_linear_layout"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/text_view_1"
android:layout_width="wrap_content"
android:layout_height="50dp"/>
<View
android:id="@+id/filler"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:id="@+id/text_view_2"
android:layout_width="wrap_content"
android:layout_height="50dp"/>
</LinearLayout>
</LinearLayout>
您当前的视图是什么样子的?在我当前的视图中,我看到图像、第一个和第二个文本视图,但第二个文本视图与第一个重叠,它们显示为一个项目。是的,很好的解决方案。您当前的视图是什么样子的?在我当前的视图中,我看到图像、第一个和第二个文本视图,但第二个文本视图与第一个重叠,它们像一个项目一样显示。是的,很好的解决方案。