TextView中的文本被截断,宽度设置为wrap_content

时间:2014-09-25 15:51:25

标签: android android-layout textview

我正在尝试在我的布局中创建一个简单的组件,其中有两个TextView水平相邻。右边的那个应该从左边的那个开始。我的代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:singleLine="true"
        android:textColor="@android:color/white"
        android:textIsSelectable="false"
        android:textSize="25sp" />

    <TextView
        android:id="@+id/text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:textColor="@android:color/white"
        android:textSize="20sp" />

</LinearLayout>

我在呈现视图后以编程方式在每个TextView上设置文本。但是,有时文本在第一个TextView中无法正确显示 - 我可以看到宽度已正确设置,因为第二个TextView不在其旁边,但是文本被截断而不是使用空格。如果我锁定/解锁设备以刷新屏幕,则文本显示正确(没有TextViews的宽度更改)。

我已经尝试将其更改为使用RelativeLayout,但我看到同样的问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

虽然我不明白你究竟是什么意思,但是建议你在父视图中使用weightSum属性,在子视图中使用android:layout_weight。同样允许在父视图中将许多子视图放在比率(如导航标签)中。

例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="1" >

    <TextView
        android:id="@+id/text1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:singleLine="true"
        android:textColor="@android:color/white"
        android:textIsSelectable="false"
        android:textSize="25sp"
        android:layout_weight="0.4" /> //60% width

    <TextView
        android:id="@+id/text2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:textColor="@android:color/white"
        android:textSize="20sp" 
        android:layout_weight="0.6" /> //40% width

</LinearLayout>

另外,不要忘记将子视图的宽度设为0dp。因为这将导致忽略关于视图宽度的计算。或者您也可以将子视图的宽度设置为“match_parent”。宽度的任何其他属性将不起作用。 (如果你想要两个子视图的半匹配,请将layout_width设置为0.5两个视图.. ithink那些显而易见的注意事项)

请它帮助。