相对布局视图不会缩小到较小的屏幕上

时间:2017-02-18 12:42:49

标签: android android-layout android-fragments

我有一个托管片段和按钮的活动,片段应该占据屏幕的大部分,而按钮应该占据屏幕下半部分的一小部分。 但是,我无法使相对布局缩小,以便按钮不会在片段上重叠。

下面是我的活动布局

<?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_registration"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:orientation="vertical"
    tools:context="com.example.activities.RegistrationActivity">

    <fragment
        android:name="com.example.fragments.registration.GenderFragment"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        tools:layout="@layout/fragment_gender" />

    <Button
        android:id="@+id/profile_progress_bar"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:background="@color/colorPrimary"
        android:text="BUTTON TEXT"
        android:textColor="@android:color/holo_red_dark" />

</LinearLayout>

以下是片段的布局

<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="wrap_content"
    tools:context="com.example.fragments.registration.GenderFragment">

    <ImageView
        android:id="@+id/welcome_note"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:paddingTop="@dimen/xlarge_top_margin"
        android:src="@drawable/bienvenido" />

    <TextView
        android:id="@+id/gender_explanation"
        style="@style/HeaderTitleWhite"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/welcome_note"
        android:layout_centerHorizontal="true"
        android:text="WELCOME TO THE APP"
        android:textSize="@dimen/header_title_text_view_xtra_big_size" />

    <LinearLayout
        android:id="@+id/gender_avatar_holder"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/gender_explanation"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/medium_top_margin"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/female"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/woman"
            android:scaleType="centerInside" />


        <ImageView
            android:id="@+id/male"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/man"
            android:scaleType="centerInside" />

    </LinearLayout>

    <Button
        android:id="@+id/next"
        style="@style/AppButtonMedium"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignEnd="@+id/gender_explanation"
        android:layout_alignLeft="@+id/gender_explanation"
        android:layout_alignRight="@+id/gender_explanation"
        android:layout_alignStart="@+id/gender_explanation"
        android:layout_below="@+id/gender_avatar_holder"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/large_top_margin"
        android:text="NEXT"
        android:textStyle="normal|bold" />

</RelativeLayout>

下面是它的外观截图

demo

1 个答案:

答案 0 :(得分:0)

您的frangment内容太大,因此您应该在布局中使用ScrollView,就像这样。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"
android:layout_height="match_parent">

<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:context="com.example.fragments.registration.GenderFragment">

    <ImageView
        android:id="@+id/welcome_note"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:paddingTop="@dimen/xlarge_top_margin"
        android:src="@drawable/bienvenido" />

    <TextView
        android:id="@+id/gender_explanation"
        style="@style/HeaderTitleWhite"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/welcome_note"
        android:layout_centerHorizontal="true"
        android:text="WELCOME TO THE APP"
        android:textSize="@dimen/header_title_text_view_xtra_big_size" />

    <LinearLayout
        android:id="@+id/gender_avatar_holder"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/gender_explanation"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/medium_top_margin"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/female"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scaleType="centerInside"
            android:src="@drawable/woman" />


        <ImageView
            android:id="@+id/male"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scaleType="centerInside"
            android:src="@drawable/man" />

    </LinearLayout>

    <Button
        android:id="@+id/next"
        style="@style/AppButtonMedium"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignEnd="@+id/gender_explanation"
        android:layout_alignLeft="@+id/gender_explanation"
        android:layout_alignRight="@+id/gender_explanation"
        android:layout_alignStart="@+id/gender_explanation"
        android:layout_below="@+id/gender_avatar_holder"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="@dimen/large_top_margin"
        android:text="NEXT"
        android:textStyle="normal|bold" />

</RelativeLayout>