布局对齐:横向与纵向

时间:2011-11-02 19:34:09

标签: android android-layout

有人能告诉我为什么这个布局中的文字在横向模式下水平居中,但在纵向模式下变成左对齐?

修改 就是这样,因为没有为文本宽度指定像素限制(即500dip)。因此,如果它的wrap_content,android只是将文本流过所有可用空间。我猜它是文本组件的“正确”行为,但完全不需要。

<LinearLayout android:id="@+id/progressLayout2"
    android:layout_height="wrap_content" android:layout_width="wrap_content"
    android:layout_centerHorizontal="true" android:layout_centerVertical="true"
    android:orientation="vertical">

    <TextView android:layout_height="wrap_content"
        android:layout_width="wrap_content" android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" android:text="@string/splash_text"
        android:id="@+id/heading_splash_text" android:textSize="45dip"
        android:textColor="#A00000" android:layout_alignParentTop="true"
        android:layout_gravity="center" android:paddingBottom="70dip"
        android:paddingTop="50dip" android:typeface="normal" android:textStyle="bold"/>

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

试试这个:

<LinearLayout android:id="@+id/progressLayout2"  xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent" android:layout_width="fill_parent"
  android:orientation="vertical">

<TextView android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:text="test"
    android:id="@+id/heading_splash_text" android:textSize="45dip"
    android:textColor="#A00000" 
  android:gravity="center_vertical|center_horizontal"
    android:typeface="normal" android:textStyle="bold"/>
</LinearLayout>

答案 1 :(得分:0)

我同意第一个答案中的一些更改,但我认为因为你在线性布局上有'wrap_content',并且你没有那里的命名空间,所以这个布局是在其他一些东西里面。 / p>

首先,你几乎需要'fill_parent'宽度,即使你不做高度。应指定重力的地方一般令人困惑,但以下工作。我在文本上添加了背景颜色,以便您可以看到相对于其他所有内容的位置。

如果需要,可以在填充中添加。

<LinearLayout
          android:layout_height="fill_parent"
          android:layout_width="wrap_content"
          android:orientation="vertical"
          android:layout_gravity="center"
    >

<TextView android:layout_height="wrap_content"
          android:layout_width="wrap_content"
          android:text="Some text"
          android:textSize="45dip"
          android:textColor="#A00000"
          android:typeface="normal"
          android:background="#444444"
          android:textStyle="bold"/>