scrollview не будет прокручиваться, когда Android: softinputmode = "AdjustPan" включен - PullRequest
3 голосов
/ 28 июля 2011

Ситуация:
У меня есть действие, которое на данный момент имеет 5 «экранов», завернутых в ViewFlipper;ниже ViewFLipper у меня есть синяя полоса, которая действует как панель навигации, показывающая, на каком экране вы находитесь.

Проблема:
Когда появляется программная клавиатура, над ней отображается синяя панель навигации.Итак, я добавил android:softinputmode="adjustpan", чтобы держать панель навигации внизу, и теперь я не могу прокрутить вид, и некоторые из моих входов блокируются ... Любая помощь будет принята с благодарностью.

    <?xml version="1.0" encoding="utf-8"?>

<RelativeLayout android:orientation="horizontal"
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent"
    android:layout_marginBottom="20dp" 
    xmlns:android="http://schemas.android.com/apk/res/android">

    <ViewFlipper android:layout_width="fill_parent"
        android:id="@+id/CreateNewAccountViewFlipper" 
        android:layout_height="fill_parent">

        <com.appname.UI.Shared.CreateNewAccount.NextBackScrollView
            android:layout_width="fill_parent" 
            android:id="@+id/NextBackScrollView1"
            android:layout_height="fill_parent" 
            android:fillViewport="true">

            <LinearLayout 
                android:orientation="vertical"
                android:layout_height="fill_parent" 
                android:layout_width="fill_parent">

                <TextView 
                    android:padding="10dp"
                    android:text="@string/CreateNewAccountWelcomeMessage"
                    android:layout_width="fill_parent" 
                    android:id="@+id/createNewAccountMessage"
                    android:layout_gravity="center" 
                    android:layout_height="wrap_content"
                    android:layout_margin="20px" 
                    android:gravity="center">
                </TextView>
            </LinearLayout>
        </com.appname.UI.Shared.CreateNewAccount.NextBackScrollView>

        <com.appname.UI.Shared.CreateNewAccount.NextBackScrollView
            android:layout_width="fill_parent" 
            android:id="@+id/NextBackScrollView2"
            android:layout_height="fill_parent" 
            android:fillViewport="true">

            <LinearLayout 
                android:orientation="vertical"
                android:layout_height="fill_parent" 
                android:layout_width="fill_parent">

                <TextView 
                    android:padding="10dp" 
                    android:gravity="center"
                    android:text="@string/CreateNewAccountEmailMessage"
                    android:layout_marginTop="20px" 
                    android:layout_width="match_parent"
                    android:id="@+id/createNewAccountEmailMessage"
                    android:layout_height="wrap_content">
                </TextView>

                <EditText 
                    android:inputType="textEmailAddress"
                    android:hint="Email Address" 
                    android:id="@+id/newEmail"
                    android:selectAllOnFocus="true" 
                    android:layout_marginTop="20px"
                    android:layout_width="match_parent" 
                    android:layout_height="wrap_content">
                </EditText>

                <EditText 
                    android:inputType="textEmailAddress"
                    android:hint="Confirm Email Address" 
                    android:id="@+id/newEmailConfirm"
                    android:selectAllOnFocus="true" 
                    android:layout_marginTop="20px"
                    android:layout_width="match_parent" 
                    android:layout_height="wrap_content">
                </EditText>
            </LinearLayout>
        </com.appname.UI.Shared.CreateNewAccount.NextBackScrollView>

        <com.appname.UI.Shared.CreateNewAccount.NextBackScrollView
            android:layout_width="fill_parent" android:id="@+id/NextBackScrollView3"
            android:layout_height="fill_parent" android:fillViewport="true">

            <LinearLayout 
                android:orientation="vertical"
                android:layout_height="fill_parent" 
                android:layout_width="fill_parent">

                <TextView android:padding="10dp" android:gravity="center"
                    android:text="@string/CreateNewAccountPersonalInfoMessage"
                    android:layout_marginTop="20px" android:layout_width="match_parent"
                    android:id="@+id/createNewAccountPersonalInfoMessage"
                    android:layout_height="wrap_content">
                </TextView>

                <EditText 
                    android:inputType="textPersonName" 
                    android:hint="First Name"
                    android:id="@+id/newAccountFirstName" 
                    android:selectAllOnFocus="true"
                    android:layout_marginTop="20px" 
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">
                </EditText>

                <EditText 
                    android:inputType="textPersonName" 
                    android:hint="Last Name"
                    android:id="@+id/newAccountLastName" 
                    android:selectAllOnFocus="true"
                    android:layout_marginTop="20px" 
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">
                </EditText>

                <EditText 
                    android:inputType="textPostalAddress"
                    android:hint="Street Address" 
                    android:id="@+id/newAccountStreetAddress"
                    android:selectAllOnFocus="true" 
                    android:layout_marginTop="20px"
                    android:layout_width="match_parent" 
                    android:layout_height="wrap_content">
                </EditText>

                <LinearLayout 
                    android:orientation="horizontal"
                    android:layout_gravity="center" 
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" 
                    android:padding="10dp">

                    <EditText 
                        android:layout_weight="3" 
                        android:maxLength="20"
                        android:hint="City" 
                        android:id="@+id/newAccountCity"
                        android:selectAllOnFocus="true" 
                        android:layout_width="0dp"
                        android:layout_height="wrap_content" 
                        android:maxLines="1"
                        android:inputType="textPostalAddress">
                    </EditText>

                    <EditText 
                        android:layout_weight="1" 
                        android:maxLength="2"
                        android:hint="St" 
                        android:id="@+id/newAccountState"
                        android:selectAllOnFocus="true" 
                        android:layout_width="0dp"
                        android:layout_height="wrap_content" 
                        android:maxLines="1"
                        android:inputType="textPostalAddress">
                    </EditText>

                    <EditText 
                        android:layout_weight="2" 
                        android:maxLength="5"
                        android:hint="Zip" 
                        android:id="@+id/newAccountZipCode"
                        android:selectAllOnFocus="true" 
                        android:layout_width="0dp"
                        android:layout_height="wrap_content" 
                        android:maxLines="1"
                        android:inputType="textPostalAddress">
                    </EditText>
                </LinearLayout>
            </LinearLayout>
        </com.appname.UI.Shared.CreateNewAccount.NextBackScrollView>

        <com.appname.UI.Shared.CreateNewAccount.NextBackScrollView
            android:layout_width="fill_parent" 
            android:id="@+id/NextBackScrollView4"
            android:layout_height="fill_parent" 
            android:fillViewport="true">

            <LinearLayout 
                android:orientation="vertical"
                android:layout_height="fill_parent" 
                android:layout_width="fill_parent">

                <TextView 
                    android:padding="10dp" 
                    android:gravity="center"
                    android:text="@string/CreateNewAccountBusinessMessage"
                    android:layout_marginTop="20px" 
                    android:layout_width="match_parent"
                    android:id="@+id/createNewAccountBusinessMessage"
                    android:layout_height="wrap_content">
                </TextView>

                <CheckBox 
                    android:text="Is business account"
                    android:contentDescription="Is business account? Click for yes"
                    android:id="@+id/isNewBusinessAccountCheck" 
                    android:layout_gravity="center"
                    android:layout_marginTop="20px" 
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">
                </CheckBox>

                <EditText 
                    android:inputType="textPersonName" 
                    android:hint="Business Name"
                    android:id="@+id/newAccountBusinessName" 
                    android:selectAllOnFocus="true"
                    android:layout_marginTop="20px" 
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" 
                    android:visibility="invisible">
                    <requestFocus></requestFocus>
                </EditText>

                <EditText 
                    android:inputType="textPostalAddress"
                    android:hint="Mailing Address" 
                    android:id="@+id/newAccountBusinessAddress"
                    android:selectAllOnFocus="true" 
                    android:layout_marginTop="20px"
                    android:layout_width="match_parent" 
                    android:layout_height="wrap_content"
                    android:visibility="invisible">
                </EditText>

                <LinearLayout 
                    android:orientation="horizontal"
                    android:layout_gravity="center" 
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" 
                    android:padding="10dp">

                    <EditText 
                        android:layout_weight="3" 
                        android:maxLength="20"
                        android:hint="City" 
                        android:id="@+id/newAccountBusinessCity"
                        android:selectAllOnFocus="true" 
                        android:layout_width="0dp"
                        android:layout_height="wrap_content" 
                        android:maxLines="1"
                        android:inputType="textPostalAddress" 
                        android:visibility="invisible">
                    </EditText>

                    <EditText 
                        android:layout_weight="1" 
                        android:maxLength="2"
                        android:hint="St" 
                        android:id="@+id/newAccountBusinessState"
                        android:selectAllOnFocus="true" 
                        android:layout_width="0dp"
                        android:layout_height="wrap_content" 
                        android:maxLines="1"
                        android:inputType="textPostalAddress" 
                        android:visibility="invisible">
                    </EditText>

                    <EditText 
                        android:layout_weight="2" 
                        android:maxLength="5"
                        android:hint="Zip" 
                        android:id="@+id/newAccountBusinessZipCode"
                        android:selectAllOnFocus="true" 
                        android:layout_width="0dp"
                        android:layout_height="wrap_content" 
                        android:maxLines="1"
                        android:inputType="textPostalAddress" 
                        android:visibility="invisible">
                    </EditText>
                </LinearLayout>
            </LinearLayout>
        </com.appname.UI.Shared.CreateNewAccount.NextBackScrollView>

        <com.appname.UI.Shared.CreateNewAccount.NextBackScrollView
            android:layout_width="fill_parent" 
            android:id="@+id/NextBackScrollView5"
            android:layout_height="fill_parent" 
            android:fillViewport="true">

            <LinearLayout 
                android:orientation="vertical"
                android:gravity="center_horizontal" 
                android:layout_height="fill_parent"
                android:layout_width="fill_parent">
                <TextView 
                    android:gravity="center"
                    android:text="@string/CreateNewAccountCompleteMessage"
                    android:layout_marginTop="20px" 
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content">
                </TextView>

                <Button 
                    android:gravity="center" 
                    android:text="Create Account"
                    android:id="@+id/createAccountButton" 
                    android:layout_marginTop="20px"
                    android:layout_width="wrap_content" 
                    android:layout_height="wrap_content">
                </Button>
            </LinearLayout>
        </com.appname.UI.Shared.CreateNewAccount.NextBackScrollView>
    </ViewFlipper>

    <LinearLayout 
        android:id="@+id/pager"
        android:background="@drawable/new_account_navbar_background"
        android:layout_alignParentBottom="true"
        android:layout_height="50dp"
        android:layout_width="fill_parent">
    </LinearLayout>
</RelativeLayout>

Ответы [ 2 ]

0 голосов
/ 30 июля 2011
if (getResources().getConfiguration().keyboardHidden == Configuration.KEYBOARDHIDDEN_YES)

проблема решена !!

EDIT:

Я не верю, что это когда-либо было на самом деле решено, но я больше не вовлечен в этот проект.

0 голосов
/ 28 июля 2011

Мы также столкнулись с этим, похоже на ошибку Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...