Когда в полноэкранном режиме макет не перемещается в положение у Android - PullRequest
0 голосов
/ 07 февраля 2012

Я пытаюсь переместить свой макет вверх, когда отображается программная клавиатура, но макет не перемещается, когда на полном экране

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 ]

2 голосов
/ 07 февраля 2012

Вам не нужно делать это вручную. Добавьте WindowSoftInputMode: AdjustPan в манифест, как описано в этом сообщении

1 голос
/ 07 февраля 2012

Это проблема в Android. Если вы находитесь в полноэкранном режиме и открыта программная клавиатура, вид не будет прокручиваться.

1 голос
/ 07 февраля 2012

Попробуйте поместить макет в представление прокрутки и задайте для него layout_width = "fill_parent" и layout_height = "fill_parent"

Также добавьте следующий атрибут в файл mnaifest в

...