将对象对齐到布局的中间

时间:2013-06-15 17:47:33

标签: android android-layout alignment

我正在处理ADK,我遇到了问题。我使用LinearLayout,我想将我的对象放入布局的中间和中心

这是我的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center_horizontal|center_vertical"

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center_horizontal|center_vertical"

    <Button
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center_horizontal|center_vertical"

    <Button   
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center_horizontal|center_vertical"

</LinearLayout>

仍然可以进入TOP CENTER或者离开。我应该使用其他东西而不是LinearLayout吗?还是有中心和中等的特殊代码?

感谢您的帮助!

注意:删除了不必要的部分。

2 个答案:

答案 0 :(得分:3)

您可以将RelativeLayout与嵌套LinearLayout一起使用。将所有观看结果放入LinearLayout而不应用居中,并设置centerInParent="true"

但在您的情况下,只需从视图中删除layout_gravity属性,然后将gravity="center"添加到根视图中。

而且你忘了关闭你的视图标签;)

所以最终的布局将是这样的:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

答案 1 :(得分:0)

你应该考虑这些事情

  1. 因为LinearLayout只是逐个添加视图,所以你的LinearLayout android:layout_width和android:layout_height应该是“fill_parent”来正确显示你的观点
  2. android:layout_gravity应为“center_horizo​​ntal | center_vertical”
  3. 尝试为您的对象添加android:layout_weight