当重力设置为左时,为什么TextView会换行?

时间:2014-04-12 04:09:41

标签: android textview android-wrap-content android-gravity

我遇到的问题是,当重力设置为左侧时,我的textview正在包装一个单词。我希望它只显示单词而不进行任何包装。

我想要的视觉效果:

Currency     Balance     Held     Value

但这就是我所得到的:

C            Balance     Held     Value
u
r
...

这是我的XML:

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/textview1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="left"
        android:text="Currency" />

    <TextView
        android:id="@+id/textview2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Balance" />

    <TextView
        android:id="@+id/textview3"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Held"/>

    <TextView
        android:id="@+id/textview4"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right"
        android:text="Value" />
</TableRow>

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

尝试以下代码。它对我来说很完美。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >



<TextView
    android:id="@+id/textview1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="left"
    android:text="Currency" />

<TextView
    android:id="@+id/textview2"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:text="Balance" />

<TextView
    android:id="@+id/textview3"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center"
    android:text="Held"/>

<TextView
    android:id="@+id/textview4"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="right"
    android:text="Value" />

</LinearLayout>

输出 enter image description here 希望这会对你有所帮助。

答案 1 :(得分:0)

我已经测试了下面代码相同的输出,请尝试这个 -

<TableRow  xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/textview1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="left"
        android:text="Currency" />

    <TextView
        android:id="@+id/textview2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Balance" />

    <TextView
        android:id="@+id/textview3"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Held"/>

    <TextView
        android:id="@+id/textview4"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right"
        android:text="Value" />
</TableRow>

答案 2 :(得分:0)

试试这种方式希望这有助于你

只需将此属性android:weightSum="4"添加到您的TableRow版面,此属性值取决于您拥有的孩子的数量。