拆分Android布局垂直向两侧添加重力到中心对象

时间:2013-09-20 14:12:41

标签: java android xml layout relativelayout

我有一个Android布局我想垂直拆分中间然后添加重力,这样我就可以将项目放在布局的左半部分和右半部分中。

有人可以解释或发布一个如何实现这一目标的例子吗?

到目前为止,我已经创建了一个布局和一个水平布局。我的问题是水平布局需要平衡,所以我想找到一种方法来改变我当前的布局(如下所示),以包括一种将对象置于屏幕左右两半的方式。

来源:

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

     <ImageView
         android:id="@+id/emblem"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"
         android:layout_alignParentTop="true"
         android:layout_marginTop="24dp"
         android:gravity="center"
         android:scaleType="fitStart"
         android:src="@drawable/apn_app_logo" />

     <Button
         android:id="@+id/go_button"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignBottom="@+id/emblem"
         android:layout_alignParentRight="true"
         android:layout_marginBottom="23dp"
         android:layout_marginRight="22dp"
         android:background="@drawable/apn_app_go_button" />

     <TextView
         android:id="@+id/text"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentRight="true"
         android:layout_below="@+id/go_button"
         android:gravity="center"
         android:text="@string/start_text2"
         android:textColor="#000000"
         android:textSize="18sp" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:3)

首先android:orientation属性在Relative Layout中不起作用。如果您想将屏幕分为两个相同的布局,您的父布局将是linear layout android:orientation= horizontal }。然后在里面有2 LinearLayout每个android:orientation= vertical。在第一个Linear layout内,您可以ImageViewButtonTextView分别拥有layout_gravity=center

希望这会有所帮助。如果您想在屏幕的下半部分执行某些操作,请在第二个LinearLayout中执行所有操作。 快乐的编码。

答案 1 :(得分:0)

以下是一些应该不言自明的代码:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context=".MainActivity" >

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:background="#00dd00"
        android:gravity="center"
     >

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

    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:background="#dd0000"
        android:gravity="center_horizontal"
    >

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


    </LinearLayout>

</LinearLayout>

以下是您将要实现的目标:

enter image description here