无法通过java代码设置文本视图的重力

时间:2011-12-19 05:27:44

标签: android

我试图通过以下列方式设置文本视图的重力

if(check.equals("left")){           
        results.setGravity(Gravity.LEFT);           
    } else if(check.equals("center")){
        results.setGravity(Gravity.CENTER);
    } else if(check.equals("right")){
        results.setGravity(Gravity.RIGHT);
    }

但这不能正常工作 在XML文件中,gravity预先设置为center

这里的结果是TextView类型变量。

这是父XML代码:

<TextView android:id="@+id/textView1" 
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:gravity="center" 
 android:text="Text" android:textSize="30dp" />


请帮我
整个布局XML代码是

<EditText
    android:id="@+id/etCommands"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Type some commands"
    android:inputType="textPassword" >

</EditText>

   <LinearLayout 
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:orientation="horizontal"
       android:weightSum="100"
       >

<Button
    android:onClick="cmdClick"
    android:layout_weight="20"
    android:id="@+id/bResults"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="30dp"
    android:text="Try Commond" />

<ToggleButton
    android:id="@+id/tgPassword"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_weight="80"
    android:checked="true"
    android:paddingBottom="20dp"
    android:text="ToggleButton"
    android:onClick="togClick"
     />

 </LinearLayout>


    <TextView
       android:id="@+id/textView1"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"           
       android:gravity="center"
       android:text="Text" 
       android:textSize="30dp"
       />

1 个答案:

答案 0 :(得分:1)

使用RelativeLayout,并在TextView XML集中 android:layout_centerVertical="true" android:layout_centerHorizontal="true"

根据您的其他代码,尝试执行以下操作:

textView.setLayoutParams(new LayoutParams(Layout.CENTER_HORIZONTAL, Gravity.CENTER_VERTICAL));