我在ScrollView中有一些多行EditText控件。 当我点击任何EditText控件时,会出现软键盘
但EditText及其光标位置出现在键盘后面。 我需要手动将视图滚动到顶部。
我尝试在EditText上将scrollView滚动到底部单击,但这不会起作用,因为键盘出现在EditText onClick之后,并且布局调整为键盘时显示。
有什么方法可以解决这个问题吗? 在下面的代码中,cameraButton总是出现在键盘上方。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/crlayout"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:layout_width="match_parent">
<ScrollView
android:id="@+id/scrollview"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_alignParentTop="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/boxImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
/>
<EditText
android:id="@+id/new_box_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Title"
android:inputType="textPersonName" />
<EditText
android:id="@+id/new_box_descri"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Description"
android:gravity="top"
android:inputType="textCapSentences|textMultiLine"
android:lines="5"
android:windowSoftInputMode="stateAlwaysVisible" />
</LinearLayout>
</ScrollView>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:background="@android:color/white"
>
<ImageButton
android:id="@+id/cameraButton"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_weight="1"
android:contentDescription="Open Camera"
app:srcCompat="@drawable/ic_box_camera_icon"
android:background="?attr/selectableItemBackgroundBorderless"
/>
</LinearLayout>
</RelativeLayout>