我有一个问题,我有一个登录屏幕,当我们点击编辑文本时,SoftInput键盘覆盖两个小部件一个是TextView,另一个是登录按钮,它们处于相对布局,但我想在选择任何编辑时文本整个相对布局应该是Up,并且所有小部件都在Android默认的软输入键盘上方可见。请建议我找到合适的解决方案。
提前致谢。
我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="#ffffff">
<FrameLayout android:id="@+id/frame"
android:layout_gravity="top|bottom|center_horizontal"
android:layout_width="wrap_content" android:layout_marginTop="10dip" android:layout_height="wrap_content">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/logo" >
</ImageView>
</FrameLayout>
<RelativeLayout android:id="@+id/frameLayout1"
android:layout_width="wrap_content" android:background="@drawable/login_box_bg"
android:layout_gravity="center_horizontal" android:layout_height="220dip" android:layout_marginTop="20dip">
<EditText android:id="@+id/ed_Login_Email"
android:background="@drawable/login_input_bg" android:layout_gravity="center_horizontal" android:layout_marginTop="10dip" android:hint="Email:" android:paddingLeft="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="text" android:layout_centerHorizontal="true">
</EditText>
<EditText android:background="@drawable/login_input_bg" android:layout_gravity="center_horizontal" android:id="@+id/ed_Login_Pwd"
android:inputType="textPassword" android:hint="Password:" android:paddingLeft="10dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="50dip" android:layout_centerHorizontal="true">
</EditText>
<ImageView
android:id="@+id/img_Login_RememberUnchecked"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/checkbox_unchkd_large" android:layout_gravity="top|left" android:layout_marginLeft="15dip" android:layout_marginTop="100dip" android:clickable="true"/>
<TextView
android:id="@+id/tv_Login_RememberMeUnchecked"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Remember Me" android:textColor="#000000" android:layout_gravity="top|left" android:layout_marginLeft="35dip" android:layout_marginTop="102dip" android:clickable="true"/>
<Button
android:id="@+id/btn_Login_Login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_Login_RememberMeUnchecked"
android:layout_centerHorizontal="true"
android:layout_marginTop="14dp"
android:background="@drawable/login_btn_bg"
android:text="LOG IN"
android:textColor="#ffffff" />
<TextView
android:id="@+id/tv_Login_ForgotPwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="15dp"
android:clickable="true"
android:text="Forgot your password?"
android:textColor="#000000" />
</RelativeLayout>
</LinearLayout>
请参阅下面的图片以获得更多理解:
我试过用android:windowSoftInputMode =“stateVisible | adjustResize”但没有任何反应,问题仍然存在。
答案 0 :(得分:10)
请将Windows软输入模式更改为调整大小,要将模式更改为“调整大小”,请在AndroidManifest文件中将以下语句添加到您的活动中。
<activity android:name="YourActivityName" android:windowSoftInputMode="adjustResize">