Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scroll To Certain Point after Soft Keyboard Pops up, Not Before

Ok so basically I want my ScrollView to automatically Scroll to the bottom of a EditText (which in my case I made min height Bigger for display purposes). But after a bit of searching and a lot of experimenting all I'm able to do is scroll the layout first, then keyboard pops up and covers the rest of the layout, here are some screen shots:

This is what it does

This is what I want it to do

Thanks for any help I can get.

Xml Code:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
    android:padding="@dimen/activity_horizontal_margin"
    android:id="@+id/newResDetailsScroll"
    android:clickable="true">

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

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Restaurant Name"
            android:id="@+id/newResName"
            android:singleLine="true"
            android:textSize="18sp"
            android:paddingTop="20dp"/>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingTop="20dp"
            android:layout_gravity="center_vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Restaurant Type:"
                android:textSize="18sp"/>
            <Spinner
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="135dp"
                android:id="@id/res_type"
                android:entries="@array/res_type"/>
            </RelativeLayout>

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="Restaurant Address"
            android:id="@+id/newResAddress"
            android:singleLine="true"
            android:textSize="18sp"
            android:paddingTop="20dp"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <EditText
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="City"
                android:id="@+id/newResCity"
                android:singleLine="true"
                android:textSize="18sp"
                android:paddingTop="20dp"
                android:inputType="textAutoCorrect|textAutoComplete"/>
            <EditText
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="State"
                android:id="@+id/newResState"
                android:singleLine="true"
                android:textSize="18sp"
                android:paddingTop="20dp"/>
            <EditText
                android:layout_weight="1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="Zip"
                android:id="@+id/newResZip"
                android:singleLine="true"
                android:textSize="18sp"
                android:paddingTop="20dp"
                android:maxLength="5"
                android:inputType="number"/>
        </LinearLayout>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Restaurant Hours:"
            android:textSize="18sp"
            android:paddingTop="20dp"/>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="20dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Sunday:"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 am  -"
                android:layout_marginLeft="80dp"
                android:onClick="time"
                android:id="@+id/sunOpen"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 pm"
                android:layout_marginLeft="155dp"
                android:onClick="time"
                android:id="@+id/sunClose"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:text="Monday:"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 am  -"
                android:layout_marginTop="20dp"
                android:layout_marginLeft="80dp"
                android:onClick="time"
                android:id="@+id/monOpen"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 pm"
                android:layout_marginTop="20dp"
                android:layout_marginLeft="155dp"
                android:onClick="time"
                android:id="@+id/monClose"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="40dp"
                android:text="Tuesday:"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 am  -"
                android:layout_marginTop="40dp"
                android:layout_marginLeft="80dp"
                android:onClick="time"
                android:id="@+id/tuesOpen"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 pm"
                android:layout_marginTop="40dp"
                android:layout_marginLeft="155dp"
                android:onClick="time"
                android:id="@+id/tuesClose"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="60dp"
                android:text="Wednesday:"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 am  -"
                android:layout_marginTop="60dp"
                android:layout_marginLeft="80dp"
                android:onClick="time"
                android:id="@+id/wedOpen"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 pm"
                android:layout_marginTop="60dp"
                android:layout_marginLeft="155dp"
                android:onClick="time"
                android:id="@+id/wedClose"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="80dp"
                android:text="Thursday:"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 am  -"
                android:layout_marginTop="80dp"
                android:layout_marginLeft="80dp"
                android:onClick="time"
                android:id="@+id/thuOpen"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 pm"
                android:layout_marginTop="80dp"
                android:layout_marginLeft="155dp"
                android:onClick="time"
                android:id="@+id/thuClose"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="100dp"
                android:text="Friday:"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 am  -"
                android:layout_marginTop="100dp"
                android:layout_marginLeft="80dp"
                android:onClick="time"
                android:id="@+id/friOpen"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 pm"
                android:layout_marginTop="100dp"
                android:layout_marginLeft="155dp"
                android:onClick="time"
                android:id="@+id/friClose"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="120dp"
                android:text="Saturday:"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 am  -"
                android:layout_marginTop="120dp"
                android:layout_marginLeft="80dp"
                android:onClick="time"
                android:id="@+id/satOpen"/>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12:00 pm"
                android:layout_marginTop="120dp"
                android:layout_marginLeft="155dp"
                android:onClick="time"
                android:id="@+id/satClose"/>

        </RelativeLayout>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Restaurant Description:"
            android:textSize="18dp"
            android:paddingTop="10dp"/>

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textMultiLine|textCapSentences|textAutoComplete|textAutoCorrect"
            android:layout_margin="10dp"
            android:padding="5dp"
            android:minHeight="150dp"
            android:gravity="top|left"
            android:maxLength="400"
            android:id="@+id/resDescription"
            android:background="@drawable/squarebox"
            android:hint="Example: Happy Hour..."/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingTop="20dp">

            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/colorPrimary"
                android:textColor="@color/textColor"
                android:text="Cancel"
                android:onClick="cancel"
                android:layout_weight="1"/>

            <Space
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight=".99"/>

            <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/colorPrimary"
                android:textColor="@color/textColor"
                android:layout_weight="1"
                android:text="Next"
                android:onClick="next"/>

        </LinearLayout>
    </LinearLayout>
</ScrollView>
like image 301
Maverick Tolley Avatar asked Jan 26 '26 05:01

Maverick Tolley


1 Answers

Try this in the android manifest file corresponding to the activity.

android:windowSoftInputMode="adjustResize"
like image 129
vpdeva Avatar answered Jan 27 '26 20:01

vpdeva



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!