Android 报名表

Android registration form

我正在为我的申请设计注册表。

我正在努力让它看起来像那样;

同时我已经成功地设计了我想要的组件(线性布局和圆角), 但我无法确定为什么按钮没有出现在屏幕上?

如果可以,请指导我,我将不胜感激

这是 xml 文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/main_background"
    tools:context="managers.sessionmanager.ClientRegistration">

    <ScrollView
        android:layout_width="match_parent"
        android:fillViewport="true"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="vertical"
            android:layout_height="match_parent">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:background="#FFFFFF"
                android:layout_marginBottom="110dp"
                android:layout_marginLeft="40dp"
                android:layout_marginRight="40dp"
                android:layout_marginTop="110dp"
                android:id="@+id/textFieldsLayout"
                android:paddingLeft="20dp"
                android:paddingRight="20dp">
                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="40dp"
                    android:background="@drawable/item_holder"
                    android:orientation="vertical"
                    android:layout_alignParentTop="true"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:id="@+id/firstNameLayout"
                    android:layout_marginTop="10dp">

                    <EditText
                        android:id="@+id/firstNameET"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@drawable/item_info"
                        android:gravity="center|left"
                        android:hint="First Name"
                        android:paddingBottom="8dp"
                        android:textColorHint="#f7941e"
                        android:paddingLeft="16dp"
                        android:paddingRight="16dp"
                        android:paddingTop="8dp"
                        android:textColor="#6d6e71"
                        android:textSize="20sp">
                    </EditText>
                </LinearLayout>
            </LinearLayout>
            <Button
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/orange_button_selector"
                android:text="@string/register"
                android:id="@+id/okBtn"
                android:textColor="@android:color/background_light" />
        </LinearLayout>
    </ScrollView>
</LinearLayout>

我正在使用 itemholder 和 iteminfo 如果它可以帮助我也可以添加它。

在此先感谢您的帮助, 伊登·本·西蒙

作为 Button 兄弟的 LinearLayout 的高度 = match_parent,必须为 wrap_content 才能使 Button 可见。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              tools:context="managers.sessionmanager.ClientRegistration">

    <ScrollView
        android:layout_width="match_parent"
        android:fillViewport="true"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:orientation="vertical"
            android:layout_height="match_parent">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" <!-- Update this attribute -->
                android:orientation="vertical"
                android:background="#FFFFFF"
                android:layout_marginBottom="110dp"
                android:layout_marginLeft="40dp"
                android:layout_marginRight="40dp"
                android:layout_marginTop="110dp"
                android:id="@+id/textFieldsLayout"
                android:paddingLeft="20dp"
                android:paddingRight="20dp">
                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="40dp"

                    android:orientation="vertical"
                    android:layout_alignParentTop="true"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:id="@+id/firstNameLayout"
                    android:layout_marginTop="10dp">

                    <EditText
                        android:id="@+id/firstNameET"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"

                        android:gravity="center|left"
                        android:hint="First Name"
                        android:paddingBottom="8dp"
                        android:textColorHint="#f7941e"
                        android:paddingLeft="16dp"
                        android:paddingRight="16dp"
                        android:paddingTop="8dp"
                        android:textColor="#6d6e71"
                        android:textSize="20sp">
                    </EditText>
                </LinearLayout>
            </LinearLayout>
            <Button
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"

                android:text="Register"
                android:id="@+id/okBtn"
                android:textColor="@android:color/background_light" />
        </LinearLayout>
    </ScrollView>
</LinearLayout>

不过我会使用 RelativeLayout 加 LinearLayout 来设计这个表单。

您的 textFieldsLayout 已设置为完全填满其父项,没有为按钮留出空间:

android:layout_height="match_parent"

一个选择是让按钮占据它需要的 space,然后给 textFieldsLayout 剩下的 space。为此,请在 textFieldsLayout 上使用 layout_weight

android:layout_height="0dp"
android:layout_weight="1"