Android 适合2个文本视图
我需要在一行中容纳2个文本视图。我尝试使用LinearLayout,现在我最好的方法是使用RelativeLayout。 这里您可以看到它的XMLAndroid 适合2个文本视图,android,android-layout,Android,Android Layout,我需要在一行中容纳2个文本视图。我尝试使用LinearLayout,现在我最好的方法是使用RelativeLayout。 这里您可以看到它的XML <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center"
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="start"
android:visibility="visible">
<TextView
android:id="@+id/partner_full_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:layout_alignParentLeft="true"
android:textColor="@color/black"
android:maxLines="2"
android:textSize="12sp"
android:layout_toLeftOf="@+id/session_duration"
android:text="@string/dummy_text" />
<TextView
android:id="@+id/session_duration"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="16dp"
android:maxLines="1"
android:textSize="12sp"
android:layout_alignParentRight="true"
android:text="asdadsd"
android:textColor="@android:color/darker_gray"
/>
</RelativeLayout>
结果呢
正如你所看到的,它是合适的,但第二个文本视图在右边,当我希望它在第一个文本视图之后。
当我使用LinearLayout时,我遇到了第一个文本视图大小的问题(若其中有很多文本,第二个文本视图将脱离屏幕)。使用LinearLayout的另一种方法给了我类似于具有相同问题的RelativeLayout的结果(第二个视图的位置错误)从第二个文本视图中删除此行:
android:layout_alignParentRight="true"
发生这种情况的原因是您正在使用
wrap\u content
。如果textView1
需要整个屏幕的空间,那么textView2
将一无所获。相反,您可以使用layout\u weight
始终查看他的空间
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:gravity="center"
android:visibility="visible"
android:orientation="horizontal">
<TextView
android:id="@+id/partner_full_name"
android:layout_width="0dp"
android:layout_weight=".5"
android:layout_height="wrap_content"
android:gravity="left"
android:maxLines="2"
android:text="Super Long String"
android:textColor="@color/black"
android:textSize="12sp" />
<TextView
android:id="@+id/session_duration"
android:layout_width="0dp"
android:layout_weight=".5"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="I will always show"
android:textColor="@android:color/darker_gray"
android:textSize="12sp" />
</LinearLayout>
use weightsum..android:layout\u alignParentRight=“true”
删除它。@SatanPandeya如果我删除它,第二个文本视图将移到左侧(父视图的左侧),然后,也添加android:layou below=id/previousOne
。因此,使用它一段时间后面临问题。你看,当TextView1(合作伙伴全名)文本很小时-一切正常。但是当它超过一半的视图时,它会被迫进入第二行,尽管前面有足够的空间(TextView2文本在大多数情况下都很小),因此我的视图非常奇怪。