2013-04-07 69 views
0

我在scrollview里面有一个textview。在scrollview下有一个带有很多按钮的tablelayout。当我通过代码更改滚动视图的文本,就像这样。Textview.setText改变其他物体的重力

textViewInput.setText("Hello"); 

它使桌面布局中的按钮改变重力,使其中的文本左对齐。这是为什么发生?我确信textviewinput不是null。

这里是xml。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

<LinearLayout 
    android:id="@+id/LinearLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/TableLayout1" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginBottom="10dp" 
    android:background="#DDD" 
    android:orientation="vertical" > 

    <ScrollView 
     android:background="#DDD" 
     android:id="@+id/scrollView" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 

     <RelativeLayout 
      android:id="@+id/RelativeLayout1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/textViewInput" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textAppearance="?android:attr/textAppearanceLarge" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentTop="true" 
       android:gravity="left" 
       android:textColor="#000" 
       android:text="_" /> 

      <TextView 
       android:id="@+id/textViewResult" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_alignParentTop="true" 
       android:layout_marginRight="5dp" 
       android:gravity="right" 
       android:textAppearance="?android:attr/textAppearanceLarge" 
       android:textColor="#000" /> 

     </RelativeLayout> 
    </ScrollView> 
</LinearLayout> 

<TableLayout 
    android:id="@+id/TableLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" > 

    <TableRow 
     android:id="@+id/TableRow07" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="5dp" 
     android:gravity="center_vertical" 
     android:weightSum="5" > 

     <Button 
      android:id="@+id/Button06" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_root" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center" /> 

     <Button 
      android:id="@+id/bAsin" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:paddingBottom="10dp" 
      android:paddingTop="10dp" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center" /> 

     <Button 
      android:id="@+id/bAcos" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:gravity="center"/> 

     <Button 
      android:id="@+id/batan" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.4" 
      android:gravity="center" /> 
    </TableRow> 

    <TableRow 
     android:id="@+id/TableRow06" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="5dp" 
     android:weightSum="5" > 

     <Button 
      android:id="@+id/Button04" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_pi" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center" /> 

     <Button 
      android:id="@+id/Button03" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:paddingBottom="10dp" 
      android:paddingTop="10dp" 
      android:text="@string/_sin" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center"/> 

     <Button 
      android:id="@+id/Button02" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_cos" 
      android:gravity="center" /> 

     <Button 
      android:id="@+id/Button01" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.4" 
      android:text="@string/_tan" 
      android:gravity="center"/> 
    </TableRow> 

    <TableRow 
     android:id="@+id/TableRow05" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="5dp" 
     android:weightSum="5" > 

     <Button 
      android:id="@+id/bPow" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_pow" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center"/> 

     <Button 
      android:id="@+id/blpar" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:paddingBottom="10dp" 
      android:paddingTop="10dp" 
      android:text="@string/_lpar" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center"/> 

     <Button 
      android:id="@+id/brpar" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_rpar" 
      android:gravity="center" /> 

     <Button 
      android:id="@+id/bdiv" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.4" 
      android:text="@string/_div" 
      android:gravity="center" /> 
    </TableRow> 

    <TableRow 
     android:id="@+id/TableRow04" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="5dp" 
     android:weightSum="5" > 

     <Button 
      android:id="@+id/b7" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_7" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center"/> 

     <Button 
      android:id="@+id/b8" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:paddingBottom="10dp" 
      android:paddingTop="10dp" 
      android:text="@string/_8" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center"/> 

     <Button 
      android:id="@+id/b9" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_9" 
      android:gravity="center" /> 

     <Button 
      android:id="@+id/bmul" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.4" 
      android:text="@string/_times" 
      android:textStyle="bold" 
      android:gravity="center" /> 
    </TableRow> 

    <TableRow 
     android:id="@+id/TableRow03" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="5dp" 
     android:weightSum="5" > 

     <Button 
      android:id="@+id/b4" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_4" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center" /> 

     <Button 
      android:id="@+id/b5" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:paddingBottom="10dp" 
      android:paddingTop="10dp" 
      android:text="@string/_5" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center" /> 

     <Button 
      android:id="@+id/b6" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_6" 
      android:gravity="center" /> 

     <Button 
      android:id="@+id/bsub" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.4" 
      android:text="@string/_minus" 
      android:gravity="center"/> 
    </TableRow> 

    <TableRow 
     android:id="@+id/TableRow02" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="5dp" 
     android:weightSum="5" > 

     <Button 
      android:id="@+id/b1" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_1" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center"/> 

     <Button 
      android:id="@+id/b2" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:paddingBottom="10dp" 
      android:paddingTop="10dp" 
      android:text="@string/_2" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center" /> 

     <Button 
      android:id="@+id/b3" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_3" 
      android:gravity="center"/> 

     <Button 
      android:id="@+id/badd" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.4" 
      android:text="@string/_plus" 
      android:gravity="center"/> 
    </TableRow> 

    <TableRow 
     android:id="@+id/TableRow01" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="5dp" 
     android:weightSum="5" > 

     <Button 
      android:id="@+id/b0" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:text="@string/_0" 
      android:textColor="@android:color/primary_text_light" 
      android:gravity="center"/> 

     <Button 
      android:id="@+id/bPoint" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:gravity="center" 
      android:paddingBottom="10dp" 
      android:paddingTop="10dp" 
      android:text="@string/dot" 
      android:textColor="@android:color/primary_text_light" /> 

     <Button 
      android:id="@+id/bClear" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.2" 
      android:gravity="center" 
      android:text="@string/clear" /> 

     <Button 
      android:id="@+id/bEnter" 
      style="@style/white_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.4" 
      android:text="@string/enter" /> 

    </TableRow> 

</TableLayout> 

</RelativeLayout> 

回答

1

由于

<TextView 
    android:id="@+id/textViewInput" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    ... 

使用wrap_content意味着你TextView的宽度和高度将根据它改变的内容,这在调用setText()修改。

尝试使用固定的宽度和高度,像这样:

<TextView 
    android:id="@+id/textViewInput" 
    android:layout_width="match_parent" 
    android:layout_height="30dp" 
    ... 
+0

是的!你是个天才!谢谢! – 2013-04-07 12:53:35

+0

虽然我不能使用固定宽度,因为它会在用户输入越来越多的文本时增长..:S – 2013-04-07 13:45:39

+0

问题是我需要文本浏览器随着文本扩展。我不能使用固定的高度:( – 2013-04-07 13:55:26