有人能告诉我为什么这个布局中的文字在横向模式下水平居中,但在纵向模式下变成左对齐?
修改 就是这样,因为没有为文本宽度指定像素限制(即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>
答案 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"/>