当TextView数据超出其大小时,屏幕将向右移动

时间:2012-10-03 07:45:49

标签: android android-layout

enter image description here我有一个用户界面,其中显示了客户的详细信息。现在一些客户地址很长,当我在TextView中显示它时,全屏布局在地址Textview的末尾方向移动,因此一些参数被隐藏。如何保持地址textview修复的长度。我用ellipsize尝试了类似的东西,但没有运气。

    <style name="CustomerTextView">
  <item name="android:layout_width">fill_parent</item>
  <item name="android:layout_height">wrap_content</item>
  <item name="android:textSize">10sp</item>
  <item name="android:textColor">@android:color/white</item>
  <item name="android:layout_margin">5dp</item>
  <item name="android:background">@drawable/textview_border</item>
  <item name ="android:ellipsize">end</item>  
  </style>

我的客户地址的XML文件如下所示

 <TableRow android:gravity="right" >

        <TextView
            style="@style/CustomerLabelTextView"
            android:gravity="right"
            android:text="@string/customerAddress" />
    </TableRow>

    <TableRow
        android:gravity="right" >


        <TextView
            android:id="@+id/customerAddress"
            style="@style/CustomerTextView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:gravity="right" />

    </TableRow>

1 个答案:

答案 0 :(得分:1)

您可以在布局中使用android:maxEmsandroid:maxLengthandroid:maxWidth来控制TextView的宽度。您还可以使用android:maxLines来控制TextView将占用的行数。我已将maxEms行添加到TextView声明中。

        <TextView
            android:id="@+id/customerAddress"
            style="@style/CustomerTextView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:maxEms="25"
            android:gravity="right" />