Android按钮在setText之后失去文本对齐

Ric*_*rdo 2 android text button alignment

我正在使用xml绘制旋转进度指示器以及一些文本.在屏幕的底部,我有一个带有两个按钮的TableLayout,它们在页面中居,每个文本也居中.

<RelativeLayout
        android:id="@+id/progresscontainer"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_horizontal">


        <ProgressBar android:id="@+id/progress_bar" 
            style="?android:attr/progressBarStyleSmall" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:paddingRight="10dp" />

        <TextView android:id="@+id/progress_text" 
            android:layout_toRightOf="@id/progress_bar"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="First text" />

</RelativeLayout>

<TableLayout
    android:id="@+id/buttonbar"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:paddingTop="3dip"
    android:background="@color/buttonbar"
    android:stretchColumns="0,1">

    <TableRow>

        <Button android:id="@+id/button1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Button1" />

        <Button android:id="@+id/button2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Button2" />

    </TableRow>

</TableLayout>
Run Code Online (Sandbox Code Playgroud)

在代码中,我有一个runnable,几秒钟之后更改progress_text TextView上的文本.

private Runnable mTimeTask = new Runnable() {

   public void run() {
       TextView progressText = (TextView) findViewById(R.id.progress_text);
       progressText.setText("Second text");
   }

};
Run Code Online (Sandbox Code Playgroud)

问题是在这个setText()之后,一旦我专注于其中一个按钮,文本就会失去它的居中对齐并一直向左移动.我究竟做错了什么?

Mic*_*ith 7

我也有这个问题.似乎setText()改变了重力设置,所以我不得不重新应用它们:

button.setGravity(Gravity.CENTER_HORIZONTAL);
Run Code Online (Sandbox Code Playgroud)