我是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说:
此线性布局或其父级无用;转移背景 属性到另一个视图
但我不明白这个?
答案 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_centerHorizontal = “真”强>
<强>机器人:layout_centerVertical = “真”强>
方法三:
android:gravity =“center”(虽然我看到你已经使用过了。可能你错过了代码中的任何一点)。
希望这会对你有所帮助。快乐的编码。