我的片段布局与活动布局重叠

时间:2019-01-08 06:27:42

标签: android android-fragments

我有一个带有两个按钮的ActivityButton单击可打开一个新的Fragment。但是Fragment视图与我的Activity视图重叠。

我尝试为片段提供背景,但是它对我不起作用

Activity with 2 buttons

Fragment for Schedule Match Match

这是活动xml代码

<RelativeLayout 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:background="#E6E6E6"
    tools:context=".TourAdmin">

        <TextView
            android:id="@+id/tour_admin_tour_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="60dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="Tournament Name"
            android:textSize="30dp" />

        <Button
            android:id="@+id/tour_admin_schedule"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tour_admin_tour_name"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="50dp"
            android:background="@color/colorPrimary"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="Schedule Match"
            android:textColor="#fff" />

        <Button
            android:id="@+id/tour_admin_show_for_score"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tour_admin_schedule"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="40dp"
            android:background="@color/colorPrimary"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="Score Match"
            android:textColor="#fff" />

    <FrameLayout
        android:id="@+id/admin_fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

以下是片段xml代码:

<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:layout_margin="2dp"
    android:background="@android:color/holo_red_dark"
    tools:context=".TourScheduleMatch">

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

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

            <Spinner
                android:id="@+id/tour_team1_select_spinner"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="30dp"
                android:paddingLeft="6dp"
                android:paddingRight="6dp" />

            <Spinner
                android:id="@+id/tour_team2_select_spinner"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/tour_team1_select_spinner"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="40dp"
                android:paddingLeft="6dp"
                android:paddingRight="6dp"
                />

            <Spinner
                android:id="@+id/tour_sched_half_time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/tour_team2_select_spinner"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="40dp"
                android:paddingLeft="6dp"
                android:paddingRight="6dp"
                android:entries="@array/match_time"/>

            <Spinner
                android:id="@+id/tour_sched_nop"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/tour_sched_half_time"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="40dp"
                android:paddingLeft="6dp"
                android:paddingRight="6dp"
                android:entries="@array/tournament_nop"/>

            <EditText
                android:id="@+id/tour_cityNameEditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="24dp"
                android:layout_marginTop="24dp"
                android:layout_marginRight="24dp"
                android:layout_weight="0"
                android:hint="City"
                android:inputType="text"
                android:padding="8dp"
                android:layout_below="@id/tour_sched_nop"/>

            <EditText
                android:id="@+id/tour_groundNameEditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="24dp"
                android:layout_marginTop="24dp"
                android:layout_marginRight="24dp"
                android:layout_weight="0"
                android:hint="Ground"
                android:inputType="text"
                android:padding="8dp"
                android:layout_below="@id/tour_cityNameEditText"/>

            <LinearLayout
                android:id="@+id/match_date_layout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:layout_below="@id/tour_groundNameEditText"
                android:layout_centerHorizontal="true">

                <Button
                    android:id="@+id/tour_match_date_bn"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="24dp"
                    android:background="@color/colorPrimary"
                    android:paddingLeft="6dp"
                    android:paddingRight="6dp"
                    android:text="Match Date"
                    android:textColor="#fff" />

                <TextView
                    android:id="@+id/tour_match_date"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="85dp"
                    android:layout_marginTop="28dp"
                    android:text="Match Date"
                    android:textColor="#000"
                    android:textSize="20dp" />

            </LinearLayout>


            <LinearLayout
                android:id="@+id/match_time_layout"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/match_date_layout"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="20dp">

                <Button
                    android:id="@+id/tour_match_time_bn"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="24dp"
                    android:background="@color/colorPrimary"
                    android:paddingLeft="6dp"
                    android:paddingRight="6dp"
                    android:text="Match Time"
                    android:textColor="#fff" />

                <TextView
                    android:id="@+id/tour_match_time"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="85dp"
                    android:layout_marginTop="28dp"
                    android:text="Match Time"
                    android:textColor="#000"
                    android:textSize="20dp" />

            </LinearLayout>

            <Button
                android:id="@+id/tour_schedule_schedule_bn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/match_time_layout"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="40dp"
                android:background="@color/colorPrimary"
                android:text="Create"
                android:textColor="#fff" />
        </RelativeLayout>
    </android.support.v4.widget.NestedScrollView>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

我希望您使用的是ConstraintLayout。要使元素彼此对齐,请使用LinearLayout或FrameLayout。

答案 1 :(得分:-1)

在此处使用RelativeLayout是错误的选项。您应该改用LinearLayout。将FrameLayout作为第一个视图放置在活动布局中,并在需要时将其可见性从“不可见”更改为“可见”。

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

<FrameLayout
    android:id="@+id/admin_fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="gone"/>

<TextView
    android:id="@+id/tour_admin_tour_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="60dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:text="Tournament Name"
    android:textSize="30dp" />

<Button
    android:id="@+id/tour_admin_schedule"
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="50dp"
    android:layout_gravity="center_horizontal"
    android:background="@color/colorPrimary"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:text="Schedule Match"
    android:textColor="#fff" />

<Button
    android:id="@+id/tour_admin_show_for_score"
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tour_admin_schedule"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="40dp"
    android:background="@color/colorPrimary"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:text="Score Match"
    android:textColor="#fff" />

</LinearLayout>

另一个选择是使用ConstraintLayout,但它比LinearLayout难使用。