在全屏模式下,布局不会移动到y位置android

时间:2012-02-07 07:20:51

标签: android layout android-softkeyboard

我正在尝试在显示软键盘时移动我的布局,但是在全屏显示时布局不会移动

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" />

3 个答案:

答案 0 :(得分:2)

您不需要手动执行此操作。如this post

中所述,将WindowSoftInputMode:AdjustPan添加到清单中

答案 1 :(得分:1)

尝试将您的布局放在滚动视图中,并给它layout_width =“fill_parent”和layout_height =“fill_parent”

同时将以下属性添加到您的mnaifest文件中

答案 2 :(得分:1)

这是android中的问题。 如果您处于全屏模式并且打开了软键盘,则视图将不会滚动。