将按钮放置在两个不同的LinearLayouts上

时间:2019-01-16 20:31:17

标签: android android-linearlayout

因此,我想添加一个带有文本“已经注册?”的按钮。在底部中间的屏幕上,但是我的代码在左半边和右半边包含两个不同的LinearLayouts。我希望按钮在左侧Linearlayout中占一半,在右侧占一半。另外,就我而言,它们是可单击的,就我而言,我必须将其包含在当前布局中,而不包括它们。

我目前有什么:

enter image description here

我想要得到什么:

enter image description here

我的代码

<?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"
    tools:context=".MainActivity"
    android:weightSum="2"
    android:orientation="horizontal">

    <LinearLayout
        android:id="@+id/customerLinearLayout"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_weight="1"
        android:background="@color/lightblueMainActivity"
        android:onClick="customerSignUp">

        <TextView
            android:layout_gravity="center_vertical"
            android:gravity="center"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="24sp"
            android:textColor="@color/orangeMainActivity"
            android:text="@string/customerMainActivity"/>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/electricianLinearLayout"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_weight="1"
        android:background="@color/orangeMainActivity"
        android:onClick="electricianSignUp">

        <TextView
            android:layout_gravity="center_vertical"
            android:gravity="center"
            android:textSize="24sp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="@color/lightblueMainActivity"
            android:text="@string/electricianMainActivity"/>
    </LinearLayout>
</LinearLayout>

谢谢!

1 个答案:

答案 0 :(得分:1)

除了ViewGroup以外,还有其他类型的LinearLayout可以使您实现“分屏”效果,但让我们保持简单并使用加权的LinearLayout来划分屏幕。

View可以是TextView(不需要中间ViewGroup),因为您可以让它们具有背景色并控制文本的对齐方式。

由于您希望Button与屏幕的两个部分重叠,因此可以将其和LinearLayout放入FrameLayout(我使用了TextView基本相同):

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:weightSum="2">
        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="Customer"
            android:textColor="#aaaaaa"
            android:textSize="20sp"
            android:gravity="center"
            android:background="#0000ff"/>
        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:text="Electrician"
            android:textColor="#666666"
            android:textSize="20sp"
            android:gravity="center"
            android:background="#ffab00"/>
    </LinearLayout>
    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal|bottom"
        android:layout_marginBottom="24dp"
        android:textColor="#ffffff"
        android:textSize="20sp"
        android:text="Already Registered?"/>
</FrameLayout>

enter image description here