如何在Android Studio中实现具有两个布局的布局

时间:2017-01-08 09:07:28

标签: android android-layout android-linearlayout

我正在尝试实现以下布局,但我不确定如何在一个屏幕上拆分/拥有两个布局,其中一个为空,另一个包含其他元素。如下图所示,我希望布局1包含其他元素和布局为空。在两个布局之间有一个分隔线。

enter image description here

任何帮助都会很好,我不知道从哪里开始。我在1个屏幕上有两个布局并将它们分成大约40:60的比例。

3 个答案:

答案 0 :(得分:0)

尝试使用

   <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.rushabh_pc.lin.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:id="@+id/textView2"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Label2"
        android:id="@+id/toggleButton"
        android:layout_below="@+id/textView2"
        android:layout_centerHorizontal="true"
        android:checked="false" />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Label 3"
    android:id="@+id/lab3"
    android:layout_below="@+id/toggleButton"
    android:layout_toLeftOf="@+id/toggleButton"
    android:layout_toStartOf="@+id/toggleButton" />
   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Label 4"
       android:layout_alignBaseline="@+id/lab3"
       android:layout_alignBottom="@+id/lab3"
       android:layout_toRightOf="@+id/toggleButton"
       android:layout_toEndOf="@+id/toggleButton"
       android:id="@+id/l4"/>

   <TextView
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="last"
       android:layout_below="@id/l4"/>
</RelativeLayout>

答案 1 :(得分:0)

将LinearLayout与layout_weight一起使用,以指定每个子布局占用的空间的比率。对于40:60的分割,请使用以下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.4"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:background="@android:color/holo_green_light"
        android:text="Label"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:background="@android:color/holo_blue_bright"
        android:text="Label"
        android:textSize="30sp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/activity_horizontal_margin"
            android:layout_marginRight="@dimen/activity_horizontal_margin"
            android:layout_weight="1"
            android:background="@android:color/holo_green_light"
            android:hint="Textbox1" />

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/activity_horizontal_margin"
            android:layout_marginRight="@dimen/activity_horizontal_margin"
            android:layout_weight="1"
            android:background="@android:color/holo_green_light"
            android:hint="Textbox2" />
    </LinearLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0sp"
        android:layout_marginLeft="@dimen/activity_horizontal_margin"
        android:layout_marginRight="@dimen/activity_horizontal_margin"
        android:layout_weight="1"
        android:background="@android:color/holo_blue_bright"
        android:text="Label" />
</LinearLayout>

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp"
    android:background="@android:color/black" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.6"></LinearLayout>

</LinearLayout>

答案 2 :(得分:0)

以下代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main3"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.staff.app.Main3Activity"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/holo_orange_light">

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="textView"
            android:layout_centerHorizontal="true"/>

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="textView"
            android:textSize="20dp"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/textView1"/>

        <LinearLayout
            android:id="@+id/linearLyout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/textView2"
            android:orientation="horizontal">

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:hint="editText1"
                android:layout_weight="1"/>

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:hint="editText2"
                android:layout_weight="1"/>

        </LinearLayout>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="textView"
            android:textSize="40dp"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/linearLyout"/>

    </RelativeLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@android:color/black"></View>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"></RelativeLayout>

</LinearLayout>

this is how it looks!