将两个 LinearLayout 合并为一个 LinearLayout

Combine two LinearLayouts into one LinearLayout

我在RelativeLayout里面有两个LinearLayout。我只想在一个 LinearLayout 中执行此 LinearLayout,以便我的子控件将显示在 1 个 LinearLayout 中。这样我就可以对这个 LinearLayout 进行分组并显示 具有不同的背景颜色 android:background="@drawable/my_custom_background 以便所有子控件耦合到其中。

请看下面的屏幕截图 代码

<?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:orientation="vertical"
    android:background="#0B95BA"
    android:minWidth="25px"
    android:minHeight="25px">
    <LinearLayout
        android:id="@+id/linearLayoutCont"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="5dp">
        <TextView
            android:id="@+id/txtViewCont"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:text="Contact Billing"
            android:gravity="center"
            android:textSize="25sp"
            android:textColor="#FFFFFF" />
    </LinearLayout>
    <LinearLayout
        android:id="@+id/linearLayoutContBillingCall"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_below="@id/linearLayoutCont"
        android:layout_marginTop="5dp">
        <Button
            android:text="Call"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textSize="15sp"
            android:textColor="#FFFFFF"
            android:layout_gravity="right"
            android:background="@drawable/ButtonStyle"
            android:id="@+id/btnContCall"
            android:drawableLeft="@drawable/PhoneCall" />
        <Button
            android:text="Email"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textSize="15sp"
            android:textColor="#FFFFFF"
            android:layout_gravity="right"
            android:background="@drawable/ButtonStyle"
            android:id="@+id/btnEmail"
            android:drawableLeft="@drawable/Email" />
    </LinearLayout>
</RelativeLayout>

和 o/p 应该在图片上方,例如 Contact 在中间,两个按钮(Call 和 Email)在下方联系同一个角落。还有一件事我想问一下如何在这两个按钮之间创建一个 space。

You need to only take one Linear Layout instead of two. Your Text View is child of your Relative Layout. I have applied some Modification to your Layout.

参考这个。

<?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="#0B95BA">


    <TextView
        android:id="@+id/txtViewCont"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Contact Billing"
        android:textColor="#FFFFFF"
        android:textSize="25sp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/txtViewCont"
        android:orientation="horizontal"
        android:weightSum="2">


        <Button
            android:id="@+id/btnContCall"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_weight="1"
            android:drawableLeft="@mipmap/ic_launcher"
            android:drawablePadding="5dp"
            android:text="Call"
            android:textColor="#FFFFFF"
            android:textSize="15sp" />

        <Button
            android:id="@+id/btnEmail"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_weight="1"
            android:drawableLeft="@mipmap/ic_launcher"
            android:drawablePadding="5dp"
            android:text="Email"
            android:textColor="#FFFFFF"
            android:textSize="15sp" />

    </LinearLayout>
</RelativeLayout>

Note : Apply your own Drawables and Background as you have in your OP.

将 relative 替换为 linear 你会得到你想要的输出。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#0B95BA"
    android:minWidth="25px"
    android:minHeight="25px">
    <LinearLayout
        android:id="@+id/linearLayoutCont"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="5dp">
        <TextView
            android:id="@+id/txtViewCont"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:text="Contact Billing"
            android:gravity="center"
            android:textSize="25sp"
            android:textColor="#FFFFFF" />
    </LinearLayout>
    <LinearLayout
        android:id="@+id/linearLayoutContBillingCall"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_below="@id/linearLayoutCont"
        android:layout_marginTop="5dp">
        <Button
            android:text="Call"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textSize="15sp"
            android:textColor="#FFFFFF"
            android:layout_gravity="right"
            android:background="@drawable/ButtonStyle"
            android:id="@+id/btnContCall"
            android:drawableLeft="@drawable/PhoneCall" />
        <Button
            android:text="Email"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:textSize="15sp"
            android:textColor="#FFFFFF"
            android:layout_gravity="right"
            android:background="@drawable/ButtonStyle"
            android:id="@+id/btnEmail"
            android:drawableLeft="@drawable/Email" />
    </LinearLayout>
</LinearLayout>