Android中心内容

时间:2013-08-21 10:58:35

标签: android android-layout

我是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 个答案:

答案 0 :(得分: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"
   >

答案 1 :(得分:0)

在LinearLayout

中添加android:background参数

答案 2 :(得分:0)

  

此线性布局或其父级无用;转移背景   属性到另一个视图

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

答案 3 :(得分:0)

您应该分享您的完整代码,以便每个人都能了解您的问题的整个情况。无论如何,你可以采用三种方式来做事。

方法一:

<强>机器人:layout_centerInParent = “真”

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

方法二:

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

<强>机器人:layout_centerHorizo​​ntal = “真”

<强>机器人:layout_centerVertical = “真”

方法三:

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

希望这会对你有所帮助。快乐的编码。