Scrollview не работает, когда линейный макет внутри него

Я просто поместил линейный макет внутри scrollview, не знаю, почему он не работает.

Когда клавиатура открыта, полоса прокрутки вообще не отображается. Когда я перемещаю одно текстовое поле в другое, появляется кнопка "Отправить", которая не отображается при работе на устройствах небольшого размера.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:orientation="vertical">

    <RelativeLayout
        android:id="@+id/layoutPopUp"
        android:layout_width="match_parent"
        android:layout_height="79dp"
        android:background="#F57F20"
        android:paddingBottom="20dp"
        android:paddingTop="20dp"
        android:visibility="visible">

        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:weightSum="1">

            <LinearLayout
                android:id="@+id/backlayout"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="0.2"
                android:orientation="horizontal">

                <ImageButton
                    android:id="@+id/btnBackbutton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginLeft="10dp"
                    android:background="@color/transparent"
                    android:gravity="center"
                    android:src="@drawable/back"
                    android:visibility="visible" />

                <TextView
                    android:id="@+id/textBack"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginLeft="5dp"
                    android:gravity="center"
                    android:text="Back"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textSize="15sp" />
            </LinearLayout>

            <TextView
                android:id="@+id/textTitle"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="0.6"
                android:gravity="center"
                android:text="Contact Us"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textSize="20sp"
                android:textStyle="bold" />


            <ImageButton
                android:id="@+id/imagePopUp"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="0.2"
                android:background="@color/transparent"
                android:gravity="center"
                android:src="@drawable/menu"
                android:visibility="visible" />
        </LinearLayout>
    </RelativeLayout>

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

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

            <EditText
                android:id="@+id/editTextName"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/editboxshap"
                android:ems="10"
                android:hint="Name"
                android:inputType="textPersonName"
                android:singleLine="true"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#2b2b2b"
                android:textColorHint="#2b2b2b"
                android:textCursorDrawable="@color/black">

                <requestFocus />
            </EditText>

            <EditText
                android:id="@+id/editPhone"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/editboxshap"
                android:ems="10"
                android:hint="Phone No."
                android:inputType="phone"
                android:maxLength="12"
                android:singleLine="true"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#2b2b2b"
                android:textColorHint="#2b2b2b"
                android:textCursorDrawable="@color/black" />

            <EditText
                android:id="@+id/editEmail"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/editboxshap"
                android:ems="10"
                android:hint="E-mail"
                android:inputType="textEmailAddress"
                android:singleLine="true"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#2b2b2b"
                android:textColorHint="#2b2b2b"
                android:textCursorDrawable="@color/black" />

            <EditText
                android:id="@+id/editComment"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:background="@drawable/editboxshap"
                android:ems="10"
                android:gravity="start"
                android:hint="Comments"
                android:inputType="textMultiLine"
                android:lines="3"
                android:maxLength="500"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="#2b2b2b"
                android:textColorHint="#2b2b2b"
                android:textCursorDrawable="@color/black" />


            <Button
                android:id="@+id/btnSubmit"
                android:layout_width="match_parent"
                android:layout_height="35dp"
                android:layout_gravity="center_horizontal"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="20dp"
                android:background="@drawable/button_shape"
                android:text="SUBMIT"
                android:textColor="@color/white" />

        </LinearLayout>
    </ScrollView>
</LinearLayout>

3 ответа

Попробуйте поместить scrollview в другой линейный макет и попробуйте

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/parentLin"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="//define in dp"
    android:scrollbars="vertical"
    android:fillViewport="true">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <EditText
        android:id="@+id/editTextName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/editboxshap"
        android:textColorHint="#2b2b2b"
        android:textColor="#2b2b2b"
        android:ems="10"
        android:hint="Name"
        android:inputType="textPersonName"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceMedium">

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/editPhone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/editboxshap"
        android:ems="10"
        android:textColor="#2b2b2b"
        android:hint="Phone No."
        android:inputType="phone"
        android:textColorHint="#2b2b2b"
        android:maxLength="12"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/editEmail"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/editboxshap"
        android:textColor="#2b2b2b"
        android:ems="10"
        android:textColorHint="#2b2b2b"
        android:hint="E-mail"
        android:inputType="textEmailAddress"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/editComment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:background="@drawable/editboxshap"
        android:ems="10"
        android:gravity="start"
        android:textColor="#2b2b2b"
        android:hint="Comments"
        android:textColorHint="#2b2b2b"
        android:inputType="textMultiLine"
        android:lines="3"
        android:maxLength="500"
        android:textAppearance="?android:attr/textAppearanceMedium" />



</LinearLayout>
</ScrollView>
<RelativeLayout
        android:id="@+id/footer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="center">

        <Button
    android:id="@+id/btnSubmit"
    android:layout_width="match_parent"
    android:layout_height="35dp"
    android:layout_gravity="center_horizontal"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:background="@drawable/button_shape"
    android:text="SUBMIT"
    android:textColor="@color/white" />

    </RelativeLayout>

</RelativeLayout>

и вы должны указать следующую строку кода в файле манифеста с вашей деятельностью

   android:windowSoftInputMode="adjustResize" 

Попробуйте это.. на вашей деятельности / фрагмент

getActivity().getWindow()
        .setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE |
                          WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
Другие вопросы по тегам