当我在EditText上提供大量文本时UI更改

时间:2012-12-11 10:01:32

标签: android

这是我的用户界面的链接:

image

当文字正常时。

当我提供更多文字时,UI会改变如下:

image2

下面是我的xml文件代码,当输入很多文本时,Ui中的更改会帮助我:

请告诉我如何解决这个问题?

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

 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content"
  android:stretchColumns="1" 
  android:layout_margin="5dp">

   <TableRow>         
     <TextView 
        style="@style/StyleLabel"
        android:text="@string/name_lbl"/>
     <TextView 
        android:id="@+id/nameText" 
        style="@style/StyleText"/>         
  </TableRow>

  <TableRow>         
     <TextView 
        style="@style/StyleLabel"
        android:text="@string/cap_lbl"/>         
     <TextView 
        android:id="@+id/capText"
        style="@style/StyleText"/>         
  </TableRow>

  <TableRow>         
     <TextView 
        style="@style/StyleLabel"
        android:text="@string/code_lbl"/>         
     <TextView 
        android:id="@+id/codeText"
        style="@style/StyleText"/>         
  </TableRow>




    <TableRow>         
     <TextView 
        style="@style/StyleLabel"
        android:text="@string/DoneDate_lbl"/>         
     <TextView 
        android:id="@+id/Location_lbl"
        style="@style/StyleText"/>         
  </TableRow>
   <TableRow>         
     <TextView 
        style="@style/StyleLabel"
        android:text="@string/Notes_lbl"/>         
     <TextView 
        android:id="@+id/Notes_lbl"
        style="@style/StyleText"/>         
  </TableRow>
   <TableRow>         
     <TextView 
        style="@style/StyleLabel"
        android:text="@string/person_lbl"/>         
     <TextView 
        android:id="@+id/Person_lbl"
        style="@style/StyleText"/>         
  </TableRow>
 </TableLayout>

以下是styles.xml

 <resources>    
<style name="StyleLabel">
  <item name="android:layout_width">wrap_content</item>
  <item name="android:layout_height">wrap_content</item>
  <item name="android:gravity">right</item>
  <item name="android:textSize">14sp</item>
  <item name="android:textColor">@android:color/white</item>
  <item name="android:layout_marginLeft">5dp</item>
  <item name="android:layout_marginRight">5dp</item>
  <item name="android:layout_marginTop">5dp</item>
</style>
<style name="StyleText">
  <item name="android:layout_width">wrap_content</item>
  <item name="android:layout_height">wrap_content</item>
  <item name="android:textSize">16sp</item>
  <item name="android:textColor">@android:color/white</item>
  <item name="android:layout_margin">5dp</item>
  <item name="android:background">@drawable/textview_border</item>
</style>
</resources>

3 个答案:

答案 0 :(得分:0)

将以下属性添加到您的textview。

singleLine="false" 
android:ellipsize="end" 
android:lines="1"

答案 1 :(得分:0)

将此行放在TextView文件的xml标记中:

android:singleLine="true"

然后在TextView中输入的数据将以单行显示。

更新:

在所有TextViews中添加以下行:

android:ellipsize="end"
android:maxLines="10" //Restrict to some number of lines

答案 2 :(得分:0)

在你的styletext中使用它

android:singleLine="true"