0

我是 Android 布局的初学者,但我想将内容垂直和水平居中。

所以我正在读的这本书是这样说的:

 <LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:background="@color/background"
   android:layout_height="match_parent"
   android:layout_width="match_parent"
   android:padding="30dip"
   android:orientation="horizontal" >
   <LinearLayout
     android:orientation="vertical"
     android:layout_height="wrap_content"
     android:layout_width="fill_parent"
     android:layout_gravity="center" >
     ...component.. etc...

这行得通,我想我明白了,除了 Eclipse 说:

这个线性布局或者它的父级是没用的;将背景属性转移到另一个视图

但我不明白这一点?

4

4 回答 4

1

这个线性布局或者它的父级是没用的;将背景属性转移到另一个视图

意味着您可以通过自己的父级管理整个布局,您不必要地添加另一个LinearLayout 可能会降低布局性能的

您可以使用 子代向其父代提供android:gravity="center"的那个。android:layout_gravity="center"

解决方案

您可以将线性布局组合为

<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:background="@color/background"
   android:orientation="vertical"
   android:layout_height="wrap_content"
   android:layout_width="fill_parent"
    android:gravity="center" 
   android:padding="30dip"
   >
于 2013-08-21T11:10:45.113 回答
0

android:background在两个 LinearLayout 中添加参数

于 2013-08-21T11:07:06.933 回答
0

您应该分享您的完整代码,以便每个人都了解您的问题的整个场景。任何方式你都可以按照三种方式做事。

方法一:

安卓:layout_centerInParent="true"

上面的代码将使您的布局中心水平和垂直。

方法二:

如果你想单独做。(有时可能需要)

android:layout_centerHorizo​​ntal="true"

android:layout_centerVertical="true"

方法三:

android:gravity="center"(虽然我看到你已经使用过。可能是你错过了代码中的任何一点)。

希望这会帮助你。快乐编码。

于 2013-08-21T11:12:58.173 回答
0

这个线性布局或者它的父级是没用的;将背景属性转移到另一个视图

这是当任何Layout只有一个孩子也是Layout. 在你的情况下LinearLayout。在这些情况下,可以毫无问题地删除其他之一。建议删除这些多余的布局。它是..因为它只是一个警告,它不会导致任何异常,但如果你删除将有助于提高整体性能的冗余布局

于 2013-08-21T11:10:22.783 回答