单击键盘android时布局不滚动

android android-layout android-scrollview

67 观看

4回复

676 作者的声誉

在此处输入图片说明

Login.xml

 <?xml version="1.0" encoding="utf-8"?>

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/scroll"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/background_1242_2208"
            android:fillViewport="true" >

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/linearLayout"

            android:scrollbars="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent" 
            android:gravity="center_horizontal"
            android:orientation="vertical">

            <android.support.v4.widget.Space
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="0.2"/>

            <TextView
                android:paddingTop="30dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingBottom="10dp" 
                android:text="@string/patient_name"
                android:textColor="@color/black_text"
                android:textSize="@dimen/text_size" />

            <TextView
                android:id="@+id/patientname"
                android:layout_width="241dp"
                android:layout_height="wrap_content"
                android:paddingBottom="20dp"
                android:text=""
                android:textAlignment="center"
                android:textColor="@color/white_text" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/emergency_name"
                android:textColor="@color/black_text"
                android:textSize="@dimen/text_size" />

            <EditText
                android:id="@+id/patientemegencynametext"
                android:layout_width="160dp"
                android:layout_height="wrap_content"
                android:backgroundTint="@color/white"
                android:textColor="@color/white_text" />

            <TextView
                android:paddingTop="20dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/emergency_number"
                android:textColor="@color/black_text"
                android:textSize="@dimen/text_size" />

            <EditText
                android:id="@+id/patientemegencynumbertext"
                android:layout_width="135dp"
                android:layout_height="wrap_content"
                android:backgroundTint="@color/white"
                android:hint="021 1234567"
                android:inputType="phone"
                android:maxLength="12"
                android:textColor="@color/white_text" />
            <TextView
                android:paddingTop="20dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/address"
                android:textColor="@color/black_text"
                android:textSize="@dimen/text_size" />

            <EditText
                android:id="@+id/address"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:backgroundTint="@color/white"
                android:layout_marginLeft="30dp"
                android:layout_marginRight="30dp"
                android:paddingBottom="10dp"
                android:textColor="@color/white_text"
                android:inputType="textMultiLine"
                android:maxLines="2"/>

            <!--Next-->
            <Button
                android:id="@+id/loginbutton"
                android:layout_width="match_parent"
                android:layout_height="35dp"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="30dp"
                android:layout_marginRight="30dp"
                android:layout_marginTop="30dp"
                android:background="@drawable/whitebuttonshape"
                android:textAllCaps="false"
                android:textStyle="bold"
                android:text="@string/next"
                android:textColor="@color/blue_text"
                tools:textAllCaps="false" />

            <!--Back-->
            <Button
                android:id="@+id/backbutton"
                android:layout_width="match_parent"
                android:layout_height="35dp"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="30dp"
                android:layout_marginRight="30dp"
                android:textStyle="bold"
                android:layout_marginTop="15dp"
                android:background="@drawable/buttonshape"
                android:textAllCaps="false"
                android:text="@string/back"
                android:textColor="@color/white_text"
                tools:textAllCaps="false" />

            <android.support.v4.widget.Space
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="0.4"/>

        </LinearLayout>
    </ScrollView>

AndroidManifest.xml登录活动。在这里,我添加 android:windowSoftInputMode="adjustResize" 了在打开键盘时进行滚动的功能,但是无论如何我都无法滚动该视图。

 <activity
     android:windowSoftInputMode="adjustResize"
     android:name=".activities.LoginActivity"
     android:screenOrientation="portrait"
     android:theme="@style/AppTheme" />

Style.xml 主题

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/black</item><!--Changes status bar colour-->
        <item name="colorAccent">@color/colorAccent</item>
    </style>

单击下面的“编辑文本”时,无法在此处滚动视图。打开键盘时,我需要滚动全视图。我在这里尝试了许多解决方案,但是找不到适合我问题的解决方案。

作者: Rajitha Perera 的来源 发布者: 2017 年 9 月 15 日

回应 4


0

1 作者的声誉

使用TableLayout而不是使用线性布局

scrollview height = match_parent
tablelayout height = wrap_content

将清单更改为adjustPan|adjustResize 将起作用

作者: mj1996 发布者: 2017 年 9 月 15 日

0

41 作者的声誉

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/scroll"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/background_1242_2208"
            android:fillViewport="true"
            >


        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/linearLayout"
 android:scrollbars="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" //change match_parent to wrap_content

            android:gravity="center_horizontal"
            android:orientation="vertical"

</LinearLayout>
</ScrollView>

//将行添加到活动标签中的清单文件中

android:windowSoftInputMode="adjustNothing"
作者: Praful Patel 发布者: 2017 年 9 月 15 日

0

770 作者的声誉

这段代码对我来说很好用。

<?xml version="1.0" encoding="utf-8"?>
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/scroll"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/linearLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="vertical"
            android:scrollbars="vertical">

            <android.support.v4.widget.Space
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="0.2" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingBottom="10dp"
                android:paddingTop="30dp"
                android:text="@string/patient_name"
                android:textColor="@color/black_text"
                android:textSize="@dimen/text_size" />

            <TextView
                android:id="@+id/patientname"
                android:layout_width="241dp"
                android:layout_height="wrap_content"
                android:paddingBottom="20dp"
                android:text=""
                android:textAlignment="center"
                android:textColor="@color/white_text" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/emergency_name"
                android:textColor="@color/black_text"
                android:textSize="@dimen/text_size" />

            <EditText
                android:id="@+id/patientemegencynametext"
                android:layout_width="160dp"
                android:layout_height="wrap_content"
                android:backgroundTint="@color/white"
                android:textColor="@color/white_text" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingTop="20dp"
                android:text="@string/emergency_number"
                android:textColor="@color/black_text"
                android:textSize="@dimen/text_size" />

            <EditText
                android:id="@+id/patientemegencynumbertext"
                android:layout_width="135dp"
                android:layout_height="wrap_content"
                android:backgroundTint="@color/white"
                android:hint="021 1234567"
                android:inputType="phone"
                android:maxLength="12"
                android:textColor="@color/white_text" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingTop="20dp"
                android:text="@string/address"
                android:textColor="@color/black_text"
                android:textSize="@dimen/text_size" />

            <EditText
                android:id="@+id/address"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="30dp"
                android:layout_marginRight="30dp"
                android:backgroundTint="@color/white"

                android:inputType="textMultiLine"
                android:maxLines="2"
                android:paddingBottom="10dp"
                android:textColor="@color/white_text" />

            <!--Next-->

            <!--android:background="@drawable/whitebuttonshape"-->
            <Button
                android:id="@+id/loginbutton"
                android:layout_width="match_parent"
                android:layout_height="35dp"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="30dp"
                android:layout_marginRight="30dp"
                android:layout_marginTop="30dp"
                android:text="@string/next"
                android:textAllCaps="false"
                android:textColor="@color/blue_text"
                android:textStyle="bold"
                tools:textAllCaps="false" />

            <!--Back-->
            <!--android:background="@drawable/buttonshape"-->
            <Button
                android:id="@+id/backbutton"
                android:layout_width="match_parent"
                android:layout_height="35dp"
                android:layout_marginBottom="5dp"
                android:layout_marginLeft="30dp"
                android:layout_marginRight="30dp"
                android:layout_marginTop="15dp"
                android:text="@string/back"
                android:textAllCaps="false"
                android:textColor="@color/white_text"
                android:textStyle="bold"
                tools:textAllCaps="false" />

            <android.support.v4.widget.Space
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="0.4" />
        </LinearLayout>
    </ScrollView>
作者: Ankita 发布者: 2017 年 9 月 15 日

0

335 作者的声誉

使用Relative Layout代码中的父布局你目前正在使用ScrollView作为你的父母layout.Put ScrollViewRelative Layout,也可以添加android:windowSoftInputMode="adjustPan|adjustRes‌​ize在你的AndroidManifest.xml。我希望它可以解决您的问题。

作者: UserSharma 发布者: 2017 年 9 月 15 日
32x32