我在scrollView中有一个edittext。当edittext获得焦点并显示软键盘时,ScrollView
会自动向上推。
我试过了
android:windowSoftInputMode="adjustResize"
android:windowSoftInputMode="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="@drawable/sign_in_or_sign_up_bg" >
<RelativeLayout
android:id="@+id/headerlayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="@drawable/headerbox_title" >
<ImageButton
android:id="@+id/backImgBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="@null"
android:src="@drawable/backarrow" />
</RelativeLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/headerlayout"
android:fillViewport="true" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical" >
<ImageButton
android:id="@+id/profilePicImgBtn"
android:layout_width="@dimen/sign_up_profile_pic"
android:layout_height="@dimen/sign_up_profile_pic"
android:layout_gravity="center_horizontal"
android:background="@null"
android:scaleType="centerCrop"
android:src="@drawable/attach_image" />
<EditText
android:id="@+id/userNameEdt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/sign_in_small_margin"
android:background="@drawable/text_box"
android:hint="Username"
android:imeOptions="actionNext"
android:padding="@dimen/edt_padding"
android:singleLine="true"
android:textSize="@dimen/edt_hint" />
<EditText
android:id="@+id/emailEdt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/sign_in_small_margin"
android:background="@drawable/text_box"
android:hint="Email"
android:imeOptions="actionNext"
android:inputType="textEmailAddress"
android:padding="@dimen/edt_padding"
android:singleLine="true"
android:textSize="@dimen/edt_hint" />
<EditText
android:id="@+id/passwordEdt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/sign_in_small_margin"
android:background="@drawable/text_box"
android:hint="Password"
android:imeOptions="actionNext"
android:inputType="textPassword"
android:padding="@dimen/edt_padding"
android:singleLine="true"
android:textSize="@dimen/edt_hint" />
<EditText
android:id="@+id/retypePasswordEdt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/sign_in_small_margin"
android:background="@drawable/text_box"
android:hint="Retype Password"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:padding="@dimen/edt_padding"
android:singleLine="true"
android:textSize="@dimen/edt_hint" />
<ImageButton
android:id="@+id/signUpImgBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/sign_in_large_margin"
android:background="@null"
android:src="@drawable/sing_up_main_btn" />
</LinearLayout>
</ScrollView>
答案 0 :(得分:7)
在oncreate
添加
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
<强>更新强>
尝试将此添加到您的scrollview
android:isScrollContainer="false"
答案 1 :(得分:1)
在AndroidManifest.xml中,找到正确的活动并在那里添加windowSoftInputMode设置。 adjustPan
必须应用于活动。
<activity
android:name="com.yourpackage.YourActivity"
android:windowSoftInputMode="adjustPan" > <<=== THIS LINE ===
</activity>
更新:显然这是因为我开始接受投票,所以这不起作用。也许事情发生了变化。我知道这对我有用。