我有一个带有一些TextViews / EditTexts的ScrollView,以便构建一个Register表单。
当我点击我的EditText时,ScrollView按预期滚动(EditText就在软键盘上方)。
但如果我开始在其中键入一些文本,则顶部的ScrollView滚动(EditText被键盘覆盖)。
如果我删除了我输入的文字,ScrollView会再次滚动到好位置。
有人已经有这个问题吗?
这是我的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="10"
android:paddingTop="5dp"
android:paddingBottom="5dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="5"
android:drawableLeft="@drawable/my_drawable"
android:drawablePadding="5dp"
android:text="Some text"
android:textStyle="bold" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="5"
android:orientation="vertical">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:drawableLeft="@drawable/my_drawable_2"
android:text="My button"
android:textAllCaps="true" />
<EditText
android:background="@drawable/my_background"
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:hint="1234567896324"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="19"
android:singleLine="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Explanation"
android:textColor="#d3d3d3"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
答案 0 :(得分:0)
好吧,我通过更改此问题来解决问题:
android:windowSoftInputMode="adjustPan"
到此:
android:windowSoftInputMode="adjustResize"
感谢@Palejandro提示;)
答案 1 :(得分:0)
试试这个,它可能对你有帮助 -
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:weightSum="10">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="5"
android:drawablePadding="5dp"
android:text="Some text"
android:textStyle="bold"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="5"
android:orientation="vertical">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="My button"
android:textAllCaps="true"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:hint="1234567896324"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="19"
android:padding="10dp"
android:singleLine="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Explanation"
android:textColor="#d3d3d3"
android:textSize="12sp"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>