键盘显示时,android scrollview无法正常工作

时间:2015-12-14 07:12:34

标签: android android-edittext android-linearlayout android-scrollview

我在ScrollView有问题。我有一个布局,我使用ScrollView有一个Button位于底部。当我点击EditText然后键盘显示,我的按钮在我的键盘中向上移动(Button女巫是一个底部位置在我的清单文件中使用此windowSoftInputMode

 <activity
        android:name=".activities.MainActivity"
        android:screenOrientation="sensorPortrait"
        android:theme="@style/NoTitleBar"
        android:windowSoftInputMode="stateAlwaysHidden"
        >

这是我的xml代码

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

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    android:fillViewport="true"
    >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <RelativeLayout

            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/upload_main_layout_upload"
            >
            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:id="@+id/lay_v3"
                android:layout_height="match_parent"
                android:background="@android:color/white"
                android:orientation="vertical">


                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/transfer_headerView_height"
                    android:layout_alignParentTop="true"
                    android:layout_alignParentLeft="true"
                    android:background="#f2f2f2"
                    android:layout_alignParentStart="true"
                    android:id="@+id/upload_header_layout">
                    <Button
                        android:layout_width="@dimen/withdrow_change_card_width"
                        android:layout_height="@dimen/withdrow_change_card_height"
                        android:text="@string/u_slide_menu_change_card_v1"
                        android:background="@drawable/rounded_corners_withdrow"
                        android:id="@+id/upload_choose_card_main"
                        android:layout_centerVertical="true"
                        android:textColor="#4c4c4c"
                        android:textSize="@dimen/u_common_text_size_small"
                        android:layout_centerHorizontal="true" />
                </RelativeLayout>
                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="@dimen/u_common_margin_left"
                    android:layout_marginRight="@dimen/u_common_margin_left"
                    android:layout_marginTop="@dimen/withdrow_change_card_height"
                    android:orientation="vertical">

                    <LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:background="@drawable/edittext_input_background_not_focus"
                        >


                        <RelativeLayout
                            android:layout_width="wrap_content"
                            android:layout_height="match_parent"
                            android:layout_marginRight="@dimen/u_common_margin_left"
                            android:layout_centerVertical="true"
                            android:layout_alignParentRight="true"
                            android:orientation="vertical"
                            >
                            <ImageView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:background="@drawable/ic_menu_downarrow_grey"
                                android:layout_centerVertical="true"
                                android:visibility="invisible"
                                android:padding="@dimen/slide_menu_hide_image"
                                />
                        </RelativeLayout>

                        <RelativeLayout
                            android:id="@+id/u_transfer_currency_layout"
                            android:layout_width="match_parent"
                            android:layout_height="@dimen/u_widget_height"
                            android:layout_alignParentTop="true"
                            >

                            <EditText
                                android:id="@+id/u_major_text"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:gravity="center"
                                android:singleLine="true"
                                android:maxLines="1"
                                style="@style/u_edit_text"
                                android:textSize="@dimen/u_common_text_size_extra_large"
                                android:hint="0.00"
                                android:inputType="numberDecimal"
                                android:background="@null"


                                />

                        </RelativeLayout>
                    </LinearLayout>
                </LinearLayout>
            </LinearLayout>
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/bootom_layout"
                android:paddingRight="@dimen/u_common_margin_left"
                android:paddingLeft="@dimen/u_common_margin_left"
                android:layout_alignParentBottom="true"
                android:orientation="vertical">

                    <Button
                        android:id="@+id/u_done"
                        android:layout_width="fill_parent"
                        android:layout_height="@dimen/u_widget_height"
                        android:background="@drawable/rounded_corners_blue"
                        android:textColor="#ffffff"
                        android:textSize="@dimen/u_common_text_size"
                        android:text="@string/u_menu_upload" />

                <View
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/u_common_margin_left"
                    android:visibility="invisible"/>
            </LinearLayout>



        </RelativeLayout>



    </LinearLayout>
</ScrollView>

我不需要向上移动按钮键盘。我想在键盘显示时简单滚动。我也在我的清单文件中尝试了这个但是没有工作

android:windowSoftInputMode="adjustResize"
我在做错了什么?如果有人知道解决方案,请帮助我谢谢大家

1 个答案:

答案 0 :(得分:0)

添加ScrollView属性:

android:isScrollContainer="false"
  

如果视图将用作滚动容器,则设置此项,这意味着    它可以调整大小以缩小其整体窗口,以便有    输入法的空间。

如果您将其设置为false,那么当屏幕上显示键盘时,它将不会调整大小以适合滚动。