Textview.setText改变其他对象的重力

时间:2013-04-07 11:56:37

标签: android android-layout textview

我在scrollview中有一个textview。在scrollview下面有一个带有很多按钮的tablelayout。当我通过代码更改滚动视图的文本时,就像这样。

textViewInput.setText("Hello");

它使tablelayout中的按钮改变重力,使其中的文本保持对齐。为什么会这样?我确保textviewinput不是空的。

这是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 个答案:

答案 0 :(得分: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"
    ...