我正在尝试在显示软键盘时移动我的布局,但是在全屏显示时布局不会移动
when i say this.requestWindowFeature(Window.FEATURE_NO_TITLE);
但我删除了上面的行,布局移动到了所需的位置,
@Override
public void onSoftKeyboardShown(boolean isShowing) {
Display display= ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
//int width = display.getWidth();
int height = display.getHeight();
if(height <= 900){
if(isShowing){
keyboard.scrollTo(0, 150);
}else {
keyboard.scrollTo(0, 0);
}
}
并且xml布局是
<net.trellisys.keyboard.DetectsSoftKeyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rellayoutlogin"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_tablet"
android:orientation="vertical" >
<ImageButton
android:id="@+id/btnSettings"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_margin="5dp"
android:background="#66FFA500"
android:padding="5dp"
android:src="@drawable/settings" />
<ImageView
android:id="@+id/ivHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:background="@android:color/transparent"
android:paddingTop="45dp"
android:src="@drawable/papyrus_logo_small" />
<LinearLayout
android:id="@+id/lluserdata"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/ivHeader"
android:layout_centerHorizontal="true"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="35dp"
android:background="@drawable/curvedwhiteborder"
android:orientation="vertical" >
<EditText
android:id="@+id/txtUsername"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:background="@android:color/transparent"
android:hint="Email ID"
android:inputType="textEmailAddress"
android:minHeight="50dp"
android:minWidth="500dp"
android:paddingLeft="5dp" >
<requestFocus />
</EditText>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#CCCCCC" />
<EditText
android:id="@+id/txtPassword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/txtUsername"
android:layout_centerHorizontal="true"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:background="@android:color/transparent"
android:hint="Password"
android:inputType="textPassword"
android:minHeight="50dp"
android:minWidth="500dp"
android:paddingLeft="5dp" />
</LinearLayout>
<CheckBox
android:id="@+id/cbRememberMe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/ivHeader"
android:layout_below="@+id/lluserdata"
android:checked="false"
android:text="Remember me" />
<ImageButton
android:id="@+id/btnLogin"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/cbRememberMe"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="15dp"
android:minHeight="50dp"
android:minWidth="500dp"
android:text="Login"
android:textColor="#000000"
android:textStyle="bold" />
答案 0 :(得分:2)
您不需要手动执行此操作。如this post
中所述,将WindowSoftInputMode:AdjustPan添加到清单中答案 1 :(得分:1)
尝试将您的布局放在滚动视图中,并给它layout_width =“fill_parent”和layout_height =“fill_parent”
同时将以下属性添加到您的mnaifest文件中
答案 2 :(得分:1)
这是android中的问题。 如果您处于全屏模式并且打开了软键盘,则视图将不会滚动。