gpt4 book ai didi

android - 具有 3 个 TextView 的水平 LinearLayout,其中第 2 个必须居中

转载 作者:行者123 更新时间:2023-11-29 17:49:32 25 4
gpt4 key购买 nike

这是我第一次自己提问,所以请耐心等待:-)。我有一个水平的 LinearLayout,其中有 3 个 TextView。第二个只是一个箭头(UTF-8 字符),应该正好居中。TextViews 只有 1 行,如果它不适合,它应该简单地被切断。我尝试在第一个和第三个 TextView 上使用权重,但如果第一个 TextView 包含太多文本,箭头仍会稍微向右移动而不是保持居中(我希望权重能够确保)。到目前为止,这是我尝试过的:

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1.0"
android:orientation="horizontal">

<TextView
android:textSize="12sp"
android:layout_width"wrap_content"
android:layout_height"wrap_content"
android:lines="1"
android:gravity="center_vertical"
android:layout_weight="1.0"/>

<TextView
android:textSize="12sp"
android:layout_width"wrap_content"
android:layout_height"wrap_content"
android:lines="1"
android:gravity="center"
android:text="→"/>

<TextView
android:textSize="12sp"
android:layout_width"wrap_content"
android:layout_height"wrap_content"
android:lines="1"
android:gravity="center_vertical"
android:layout_weight="1.0"/>

</LinearLayout>

第一个和第三个 TextView 的文本在运行时以编程方式设置。如果文本足够短,一切都很好。如果第一个 TextView 中的文本太长,它会被剪切(如预期的那样!),但第二个(箭头-)TextView 仍然会在一定程度上向右移动。我希望箭头保持准确居中,并在必要时剪切左侧和右侧的文本。感谢您的帮助。

最佳答案

我将如何使用 RelativeLayout 做到这一点(有效):

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
>
<TextView
android:id="@+id/txtArrow"
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="1"
android:gravity="center"
android:text="?"
android:layout_centerInParent="true"
/>
<TextView
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="1"
android:gravity="center_vertical"
android:layout_toLeftOf="@id/txtArrow"
android:text="Left"
android:layout_centerVertical="true"
/>
<TextView
android:textSize="12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="1"
android:gravity="center_vertical"
android:layout_toRightOf="@id/txtArrow"
android:text="Right"
android:layout_centerVertical="true"
/>
</RelativeLayout>

请注意,我首先声明了 central TextView。
然后我添加了另外两个围绕它

关于android - 具有 3 个 TextView 的水平 LinearLayout,其中第 2 个必须居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24082751/

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