Scrollview无法正常工作。当输入键盘向上时,屏幕不会滚动

时间:2016-07-12 10:51:19

标签: android android-layout

XML:

<?xml version="1.0" encoding="utf-8"?>
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <include layout="@layout/toolbar"/>
          <ScrollView
    android:id="@+id/scroll"
    android:layout_width="wrap_content"
    android:layout_below="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_above="@+id/makeOffer"
    android:fillViewport="true">


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

                    <android.support.v7.widget.CardView
                        android:id="@+id/firstcard"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="@dimen/padding_8dp"
                        android:layout_marginLeft="@dimen/padding_8dp"
                        android:layout_marginRight="@dimen/padding_8dp"
                        android:layout_marginTop="@dimen/padding_8dp"
                        app:cardCornerRadius="@dimen/padding_4dp">

                        <RelativeLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="@dimen/padding_8dp"
                            android:layout_marginRight="@dimen/padding_8dp">

                            <RelativeLayout
                                android:id="@+id/insidecardone"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_centerHorizontal="true"
                                android:layout_margin="@dimen/padding_4dp">

                                <TextView
                                    android:id="@+id/constant_value"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_marginTop="@dimen/padding_4dp"
                                    android:text="Charge per day"
                                    android:textSize="@dimen/text_size_big_16" />


                                <EditText
                                    android:id="@+id/tvRentPerday"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentEnd="true"
                                    android:layout_alignParentRight="true"
                                    android:hint="Rs.        "
                                    android:gravity="center"

                                    android:inputType="number"
                                    android:maxLength="4"
                                    android:textColor="@android:color/black"
                                    android:textSize="@dimen/text_size_big_16" />
                            </RelativeLayout>

                            <RelativeLayout
                                android:id="@+id/insidecardtwo"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_below="@+id/insidecardone"
                                android:layout_margin="@dimen/padding_4dp">

                                <TextView
                                    android:id="@+id/con_duration"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentLeft="true"
                                    android:text="Duration (Days)"
                                    android:textSize="@dimen/text_size_big_16" />

                                <TextView
                                    android:id="@+id/num_days"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentEnd="true"
                                    android:layout_alignParentRight="true"
                                    android:gravity="center_horizontal"
                                    android:paddingEnd="@dimen/padding_16dp"
                                    android:paddingRight="@dimen/padding_24dp"
                                    android:text="10"
                                    android:textSize="@dimen/text_size_big_16"

                                    />
                            </RelativeLayout>

                            <View
                                android:layout_width="match_parent"
                                android:layout_height="1dp"
                                android:layout_below="@+id/insidecardtwo"
                                android:layout_margin="@dimen/padding_8dp"
                                android:background="@color/grey_lighter" />

                            <RelativeLayout
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_below="@+id/insidecardtwo"
                                android:layout_margin="@dimen/padding_4dp"
                                android:paddingBottom="@dimen/padding_8dp"
                                android:paddingTop="@dimen/padding_24dp">

                                <TextView
                                    android:id="@+id/total_constant"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentLeft="true"
                                    android:layout_alignParentStart="true"
                                    android:layout_marginTop="@dimen/padding_4dp"
                                    android:gravity="center_vertical"
                                    android:text="Total Amount"
                                    android:textSize="@dimen/text_size_big_16" />

                                <TextView
                                    android:id="@+id/tvAmount"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentEnd="true"
                                    android:layout_alignParentRight="true"
                                    android:gravity="center_vertical"

                                    android:textColor="#ff4f00"
                                    android:textSize="@dimen/text_size_big_16"
                                    android:textStyle="bold" />

                                <TextView
                                    android:id="@+id/total_constant_mutterfly"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentLeft="true"
                                    android:layout_alignParentStart="true"
                                    android:layout_below="@+id/total_constant"
                                    android:paddingTop="@dimen/padding_4dp"
                                    android:text="@string/process_fee_text"
                                    android:textColor="@android:color/darker_gray"
                                    android:textSize="8sp" />
                            </RelativeLayout>

                        </RelativeLayout>

                    </android.support.v7.widget.CardView>

                    <android.support.v7.widget.CardView
                        android:id="@+id/middlecard"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/firstcard"
                        android:layout_marginBottom="@dimen/padding_8dp"
                        android:layout_marginLeft="@dimen/padding_8dp"
                        android:layout_marginRight="@dimen/padding_8dp"
                        app:cardCornerRadius="@dimen/padding_4dp">

                        <RelativeLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginBottom="@dimen/padding_8dp"
                            android:layout_marginLeft="@dimen/padding_8dp"
                            android:layout_marginRight="@dimen/padding_8dp">

                            <RelativeLayout
                                android:id="@+id/middlecard_relative"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_centerHorizontal="true"
                                android:layout_margin="@dimen/padding_4dp">

                                <TextView
                                    android:id="@+id/deposite"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentLeft="true"
                                    android:layout_alignParentStart="true"
                                    android:layout_marginTop="@dimen/padding_4dp"
                                    android:gravity="center_vertical"
                                    android:text="Deposit"
                                    android:textSize="@dimen/text_size_big_16" />


                                <TextView
                                    android:id="@+id/knowmore"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_below="@+id/deposite"
                                    android:text="@string/txt_know_more"
                                    android:layout_marginTop="@dimen/padding_8dp"
                                    android:textSize="@dimen/text_size_extra_extra_small_10"
                                    />


                                <CheckBox
                                    android:id="@+id/checkbox"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentEnd="true"
                                    android:layout_alignParentRight="true"
                                    android:inputType="number"
                                    android:paddingEnd="@dimen/padding_16dp"
                                    android:paddingRight="@dimen/padding_16dp"
                                    android:textColor="@android:color/black"
                                    android:textSize="@dimen/text_size_big_16" />
                            </RelativeLayout>

                            <RelativeLayout
                                android:id="@+id/middletwo"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_below="@+id/middlecard_relative"
                                android:layout_margin="@dimen/padding_4dp"
                                android:visibility="gone"
                               >

                                <TextView
                                    android:id="@+id/middle_con_duration"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentLeft="true"
                                    android:text="Charge (Rs.)"

                                    android:textSize="@dimen/text_size_big_16" />

                                <EditText
                                    android:id="@+id/etDeposit"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentEnd="true"
                                    android:layout_alignParentRight="true"
                                    android:gravity="center"
                                    android:paddingEnd="@dimen/padding_16dp"
                                    android:paddingRight="@dimen/padding_16dp"
                                    android:hint="1000"

                                    android:maxLength="4"
                                    android:inputType="number"
                                    android:textSize="@dimen/text_size_big_16"

                                    />
                            </RelativeLayout>
                        </RelativeLayout>

                    </android.support.v7.widget.CardView>


                    <android.support.v7.widget.CardView
                        android:id="@+id/seccard"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/middlecard"
                        android:layout_marginBottom="@dimen/padding_8dp"
                        android:layout_marginLeft="@dimen/padding_8dp"
                        android:layout_marginRight="@dimen/padding_8dp"
                        app:cardCornerRadius="@dimen/padding_4dp">

                        <LinearLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_horizontal"
                            android:orientation="vertical">
                            <TextView
                                android:id="@+id/describe_constant_text"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_gravity="center"
                                android:layout_marginTop="@dimen/padding_8dp"
                                android:text="Describe Your item"
                                android:textColor="#ff4f00"
                                android:textStyle="bold" />


                            <RelativeLayout
                                android:id="@+id/rlTohide"
                                android:layout_marginTop="@dimen/padding_4dp"
                                android:layout_width="160dp"
                                android:layout_height="120dp"
                                android:background="@drawable/greyborder_transparentbg"
                                >

                                <ImageView
                                    android:id="@+id/img1"
                                    android:layout_centerInParent="true"
                                    android:layout_width="40dp"
                                    android:src="@drawable/addimg"
                                    android:layout_height="40dp" />

                                <TextView
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_below="@id/img1"
                                    android:text="(Optional)"
                                android:textSize="@dimen/text_size_extra_extra_small_10"
                                    android:textColor="@color/text_grey_opc"
                                    android:layout_centerInParent="true"
                                    />
                            </RelativeLayout>


                            <ImageView
                                android:visibility="gone"
                                android:id="@+id/imgResource"
                                android:layout_width="120dp"
                                android:layout_height="120dp"
                                android:layout_gravity="center"
                                android:layout_marginTop="@dimen/padding_8dp"
                                 />
                        </LinearLayout>

                        <LinearLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="@dimen/padding_8dp"
                            android:layout_marginRight="@dimen/padding_8dp"
                            android:layout_marginTop="180dp"
                            android:orientation="vertical">

                            <RelativeLayout
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_below="@+id/insidecardone"
                                android:layout_margin="@dimen/padding_4dp"
                                android:layout_marginLeft="@dimen/padding_8dp"

                                android:layout_marginRight="@dimen/padding_8dp">

                                <TextView
                                    android:id="@+id/con_product_name"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentLeft="true"
                                    android:layout_marginTop="8dp"
                                    android:text="Name Of Product"
                                    android:textSize="@dimen/text_size_big_16" />

                                <EditText
                                    android:id="@+id/product_name"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentEnd="true"
                                    android:layout_toEndOf="@+id/con_product_name"
                                    android:layout_toRightOf="@+id/con_product_name"

                                    android:layout_alignParentRight="true"
                                    android:hint="E.g. Nikon DSLR"
                                    android:paddingEnd="@dimen/padding_16dp"
                                    android:paddingRight="@dimen/padding_16dp"
                                    android:maxLength="30"
                                    android:inputType="textPersonName"
                                    android:layout_marginLeft="@dimen/padding_16dp"
                                    android:layout_marginStart="@dimen/padding_16dp"
                                    android:textColor="@android:color/black"
                                    android:textSize="@dimen/text_size_big_16"/>
                            </RelativeLayout>

                            <RelativeLayout
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_below="@+id/insidecardtwo"
                                android:layout_margin="@dimen/padding_4dp"
                                android:layout_marginBottom="@dimen/padding_8dp"
                                android:layout_marginLeft="@dimen/padding_8dp"
                                android:layout_marginRight="@dimen/padding_8dp">

                                <TextView
                                    android:id="@+id/Description"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:layout_alignParentLeft="true"
                                    android:text="Description :"
                                    android:textSize="@dimen/text_size_big_16" />

                                <EditText
                                    android:id="@+id/desc_box"
                                    android:layout_width="match_parent"
                                    android:layout_height="wrap_content"
                                    android:layout_below="@+id/Description"
                                    android:hint="E.g. Comes with 18-55 mm lens, charger and carry case"
                                    android:layout_marginTop="@dimen/padding_8dp"
                                    android:background="@drawable/white_border_request_screen"
                                    android:textColor="@android:color/darker_gray"
                                    android:textSize="@dimen/text_size_big_16" />

                            </RelativeLayout>


                        </LinearLayout>

                    </android.support.v7.widget.CardView>

                </RelativeLayout>

            </ScrollView>

            <Button
                android:id="@+id/makeOffer"
                android:layout_width="match_parent"
                android:layout_height="@dimen/padding_48dp"
                android:layout_alignParentBottom="true"
                android:background="@color/new_primary_text"
                android:padding="@dimen/padding_8dp"
                android:text="@string/txt_make_offr"
                android:textColor="@android:color/white"
                android:textSize="@dimen/text_size_18"
                />
        </RelativeLayout>

Android清单

<activity
     android:name=".MyActivity"
     android:screenOrientation="portrait"
     android:windowSoftInputMode="adjustResize"/>

我正在制作自昨晚以来的布局,我尝试了几乎我所知道的解决方案。我是Android的新手,所以请告诉我这个布局有什么问题。 这个&#34; fillViewport&#34;为另一个屏幕工作但是在这个屏幕上它无法正常工作。

1 个答案:

答案 0 :(得分:0)

android:windowSoftInputMode="stateHidden|adjustResize"添加到<activity>文件中的AndroidManifest.xml标记。这将导致在显示soft keyboard后屏幕调整到左侧空间。所以,你可以轻松滚动。

还有一件事将ScrollView的属性设置为页面底部android:layout_above的{​​{1}}。

UpDate:

将此行添加到Button

ScrollView
像这样

android:layout_above="@+id/makeOffer"

ScreenShot:

enter image description here

enter image description here