Android 仅当键盘出现时滚动查看

Android 仅当键盘出现时滚动查看,android,android-layout,uiscrollview,Android,Android Layout,Uiscrollview,我在寻找一个答案我该怎么做来准备静态布局(没有ScrollView,因为当我作为根ScrollView放置时,我的LinearLayout大于屏幕大小,没有ScrollView,LinearLayout是完美的),所以我有一个包含5个EditText的表单,当我点击其中一个时,键盘出现,现在我需要在此窗体上滚动。我试着使用ScrollView、android:WindowsOfInputMode=“adjustPan”以及更多的工具,但没有任何效果 <RelativeLayout xmln

我在寻找一个答案我该怎么做来准备静态布局(没有ScrollView,因为当我作为根ScrollView放置时,我的LinearLayout大于屏幕大小,没有ScrollView,LinearLayout是完美的),所以我有一个包含5个EditText的表单,当我点击其中一个时,键盘出现,现在我需要在此窗体上滚动。我试着使用ScrollView、android:WindowsOfInputMode=“adjustPan”以及更多的工具,但没有任何效果

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent" android:background="#aa000000">


<ScrollView
        android:layout_width="match_parent"
        android:fillViewport="true"
        android:layout_height="match_parent">

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


<ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:src="@drawable/background"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignWithParentIfMissing="false" android:scaleType="centerCrop"
        android:id="@+id/blueBackground"
        android:background="#aa000000"

/>

    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"
                  android:orientation="vertical"
                  android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
                  android:layout_alignParentStart="true">

        <ImageView
                android:layout_width="match_parent"
                android:id="@+id/imageView"
                android:src="@drawable/applogo"
                android:layout_alignParentTop="true" android:layout_centerHorizontal="true"
                android:layout_height="60dp" android:layout_marginTop="25dp"
                android:layout_weight="2"
        />
        <TextView
                android:text="Text1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/textView7"
                android:textColor="@color/apptheme_color" android:textAlignment="viewStart"
                android:gravity="center_horizontal" android:layout_marginTop="35dp" android:textSize="18sp"
                android:layout_weight="1"
        />
        <TextView
                android:text="Text2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/numberTextView" android:gravity="center_horizontal"
                android:textColor="@color/apptheme_color" android:textSize="24sp"
                android:layout_weight="1"
        />
        <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="textPersonName"
                android:ems="10"
                android:id="@+id/edit1"
                android:background="@drawable/blueborder"
                android:textColorHint="#FFFFFF"
                android:textColor="#FFFFFF"
                android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:layout_marginTop="16dp"
                android:paddingTop="10dp" android:paddingBottom="10dp" android:paddingLeft="10dp"
                android:layout_weight="1"
                android:hint="Edit1"/>
        <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="textPersonName"
                android:ems="10"
                android:id="@+id/edit2"
                android:background="@drawable/blueborder"
                android:textColorHint="#FFFFFF"
                android:textColor="#FFFFFF"
                android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:layout_marginTop="6dp"
                android:paddingTop="10dp" android:paddingBottom="10dp" android:paddingLeft="10dp"
                android:layout_weight="1"
                android:hint="Edit2"/>
        <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="textPersonName"
                android:ems="10"
                android:id="@+id/edi3"
                android:background="@drawable/blueborder"
                android:textColorHint="#FFFFFF"
                android:textColor="#FFFFFF"
                android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:layout_marginTop="6dp"
                android:paddingTop="10dp" android:paddingBottom="10dp" android:paddingLeft="10dp"
                android:layout_weight="1"
                android:hint="Edit3"/>
        <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="textPersonName"
                android:ems="10"
                android:id="@+id/edit4"
                android:background="@drawable/blueborder"
                android:textColorHint="#FFFFFF"
                android:textColor="#FFFFFF"
                android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:layout_marginTop="6dp"
                android:paddingTop="10dp" android:paddingBottom="10dp" android:paddingLeft="10dp"
                android:layout_weight="1"
                android:hint="Edit4"/>
        <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="textMultiLine|textPersonName"
                android:ems="10"
                android:id="@+id/edit5"
                android:background="@drawable/blueborder"
                android:textColorHint="#FFFFFF"
                android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:layout_marginTop="6dp"
                android:paddingTop="10dp" android:paddingBottom="20dp" android:paddingLeft="10dp"
                android:layout_weight="3.33"
                android:scrollbars="vertical" android:hint="Notatka" android:lines="2" android:textColor="#FFFFFF"/>
        <CheckBox
                android:text="Checkbox1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/check1" android:layout_marginLeft="20dp"
                android:textColor="@color/apptheme_color"
                android:layout_weight="1"
        />
        <CheckBox
                android:text="Checkbox2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/check2" android:layout_marginLeft="20dp"
                android:textColor="@color/apptheme_color"
                android:layout_weight="1"
        />
        <Button
                android:text="Save"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/button" android:layout_weight="2"
                android:textColor="#02485a" android:background="@drawable/blackborder"
                android:layout_marginLeft="25dp" android:layout_marginRight="25dp"
                android:layout_marginBottom="16dp"/>
        </LinearLayout>
    </RelativeLayout>



</ScrollView>


使用fillViewport属性添加
滚动视图
内部
相对视图

<ScrollView
    android:layout_width="match_parent"
    android:fillViewport="true"
    android:layout_height="match_parent">
</ScrollView>


对此,您需要使用scrollview。但主父级必须是相对/线性layoutOk,所以当scrollview扩展我的布局高度时,如何避免这种情况?当我只使用linearlayout时,布局在多个屏幕大小上看起来是相同的,但当我使用scrollview时,则会有很大的不同。在xml relativelayout->scrollview->relative layout->linearlayout中发布如何使用滚动视图请在问题中发布整个布局是,当我把它作为根滚动视图时,它是预期的行为,然后我的线性布局大于屏幕大小,所以主要问题是如何防止它。