gpt4 book ai didi

Android - 将展位固定尺寸和动态尺寸 View 排成一排

转载 作者:太空狗 更新时间:2023-10-29 14:27:16 24 4
gpt4 key购买 nike

我有一个动态大小的 RelativeLayout,其中包含带有任意文本的 TextView。我还有带时间戳的固定大小的 TextView。我想将带有时间戳的 RelativeLayout 和 TextView 并排放在一行中。

像这样:

What I want to get

我真正得到的是:

What I'm really getting

如您所见,带有文本的布局正好占据了整个宽度。

XML:

    <RelativeLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/news_list_element"
android:layout_marginRight="5dip"
android:layout_alignParentLeft="true"
android:focusable="false"
android:paddingRight="8dip"
android:paddingLeft="17dip"
android:paddingTop="4dip"
android:paddingBottom="4dip">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/news_list_text"
android:background="@android:color/transparent"
android:textColor="#000000"
android:focusable="false"
android:padding="3dip"
/>
</RelativeLayout>
<TextView android:id="@+id/messages_dialog_timestamp_in"
android:background="#000000"
android:text="12:05"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@id/news_list_element"
android:paddingBottom="9dip"
android:paddingLeft="0dip"
android:textColor="#8f9eac"
/>

最佳答案

试试这个:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/news_list_text"
android:background="@android:color/transparent"
android:textColor="#000000"
android:focusable="false"
android:padding="3dip"
android:layout_weight="1"
android:layout_gravity="left"
/>
<TextView android:id="@+id/messages_dialog_timestamp_in"
android:background="#000000"
android:text="12:05"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="9dip"
android:paddingLeft="0dip"
android:textColor="#8f9eac"
android:layout_gravity="right"
/>

android:layout_gravity="left" 将使消息 TextView 从父级的左边缘开始。

android:layout_gravity="right" 会将时间戳 Textview 放在父级的右边缘。

消息 TextView 中的 android:layout_width="0dp"android:layout_weight="1" 相结合将导致它扩展以填充所有剩余空间 < strong>在所有其他小部件就位并留出所需空间后(因此它不会将时间戳推离屏幕)。

此布局与您显示的布局略有不同,因为即使是短消息,Textview 区域也会扩展以填充可用空间,并使时间戳全部显示在右边缘的垂直线上(IMO 看起来更整洁) .

关于Android - 将展位固定尺寸和动态尺寸 View 排成一排,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11035794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com