如何将2个相对布局除以活动的一半?

时间:2016-09-12 12:17:34

标签: android android-studio layout

我希望将屏幕垂直划分为一半,并在每一半中使用不同的颜色,

我正在尝试使用此处提到的此解决方案>

Android: 2 relative layout divided in half screen

但它对我不起作用。

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="false"
    android:orientation="horizontal"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".activities.alignmentActivities.Add_New_Project_Activity"
    tools:showIn="@layout/app_bar_add__new__project_">


        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:background="#f00000"
            android:layout_weight="1">
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="0dp"
            android:background="#00b0f0"
            android:layout_height="wrap_content"
            android:layout_weight="1">
        </RelativeLayout>

</LinearLayout>

如何实现2个布局的预期效果,每个布局都占据屏幕垂直的一半\我做错了,然后链接中提到的示例?

4 个答案:

答案 0 :(得分:0)

您可以尝试使用它:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="2"
    android:orientation="horizontal"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">


    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:background="#f00000"
        android:layout_weight="1">
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="0dp"
        android:background="#00b0f0"
        android:layout_height="match_parent"
        android:layout_weight="1">
    </RelativeLayout>

输出:

Screenview

答案 1 :(得分:0)

在LinearLayout

中添加以下属性
 android:weightSum="2"

添加后,您的代码将起作用。 WeightSum属性定义了您希望将其划分的等分的总数。如果您希望将其划分为3个部分,请将其值更改为3.

答案 2 :(得分:0)

<?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="horizontal">

       <RelativeLayout
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@color/red">
       </RelativeLayout>

       <RelativeLayout
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="@color/white">
       </RelativeLayout>
</LinearLayout>

**Preview Image Link**

  [1]: http://i.stack.imgur.com/6JKTP.png

答案 3 :(得分:-1)

如果要垂直划分屏幕而不是需要使用android:orientation="vertical",并在子布局中使用android:layout_width="match_parent"

检查 xml

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="false"
    android:orientation="vertical"
    android:weightSum="2"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#f00000" >
    </RelativeLayout >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#00b0f0" >
    </RelativeLayout >
</LinearLayout >