2016-05-20 8 views
1

私は登録レイアウトを持っています。この場合、最初の編集テキストをクリックするとキーボードが表示され、他の表示はキーボードの下に隠れてしまいます。だから私はレイアウトをスクロールできるようにして、キーボードがポップアップしている間にスクロールして次の編集テキストを使用できるようにしたい。キーボードがアクティブなときにレイアウトをスクロール可能にする方法は?

レイアウトのスクロールビューを追加しようとしました。また、このアンドロイド:windowSoftInputMode = "adjustResize"をマニフェストのアクティビティに設定します。しかし、それはすべてのビューをシフトさせるので、すべてのレイアウトが合体しました。

私が得た画像は次のとおりです。

enter image description here

EDIT:編集レイアウト:編集again.Stillはそれが同じように動作します。これを行うにはどのように

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/my_scrollview" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 

    <RelativeLayout android:id="@+id/login" android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <ImageView 
      android:layout_width="200dp" 
      android:layout_height="100dp" 
      android:id="@+id/imageView2" 
      android:src="@drawable/logo_1" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="20dp" /> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:layout_centerInParent="true" 
      android:id="@+id/linearLayout5"> 

      <LinearLayout android:layout_width="250dp" 
       android:layout_height="40dp" 
       android:layout_gravity="center" 
       android:id="@+id/linearLayoutSecondName" 
       android:background="@drawable/field_1" 
       android:layout_below="@+id/imageView2" 
       android:layout_centerHorizontal="true"> 

       <ImageView 
        android:layout_width="20dp" 
        android:layout_height="20dp" 
        android:id="@+id/imageView3" 
        android:layout_gravity="center_vertical" 
        android:layout_marginLeft="15dp" 
        android:background="@drawable/user" /> 

       <AutoCompleteTextView 
        android:layout_width="match_parent" 
        android:layout_height="40dp" android:hint="@string/user_id" 
        android:maxLines="1" 
        android:singleLine="true" 
        android:inputType="text" 
        android:layout_below="@+id/linearLayoutFirstName" 
        android:layout_toRightOf="@+id/linearLayoutFirstName" 
        android:layout_toEndOf="@+id/linearLayoutFirstName" 
        android:background="@android:color/transparent" 
        android:layout_marginLeft="20dp" 
        android:layout_gravity="center" 
        android:textSize="12sp" /> 
      </LinearLayout> 

      <LinearLayout android:layout_width="250dp" 
       android:layout_height="40dp" 
       android:layout_gravity="center" 
       android:id="@+id/linearLayoutFirstName" 
       android:layout_centerVertical="true" 
       android:layout_alignStart="@+id/linearLayoutSecondName" 
       android:layout_below="@+id/linearLayoutSecondName" 
       android:layout_marginTop="20dp" 
       android:background="@drawable/field_1"> 

       <ImageView 
        android:layout_width="20dp" 
        android:layout_height="20dp" 
        android:id="@+id/imageView4" 
        android:layout_marginLeft="15dp" 
        android:background="@drawable/email" 
        android:layout_gravity="center" /> 

       <EditText android:id="@+id/password" android:layout_width="match_parent" 
        android:layout_height="40dp" android:hint="EMAIL " 
        android:imeActionId="@+id/login" 
        android:imeActionLabel="@string/action_sign_in_short" 
        android:imeOptions="actionUnspecified" 
        android:maxLines="1" android:singleLine="true" 
        android:layout_gravity="center" 
        android:layout_below="@+id/linearLayoutSecondName" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_marginLeft="20dp" 
        android:background="@android:color/transparent" 
        android:textSize="12sp" 
        android:inputType="textEmailAddress" /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="250dp" 
       android:layout_height="40dp" 
       android:layout_gravity="center" 
       android:id="@+id/linearLayout4" 
       android:background="@drawable/field_1" 
       android:layout_below="@+id/linearLayout5" 
       android:layout_alignRight="@+id/imageView2" 
       android:layout_alignEnd="@+id/imageView2" 
       android:layout_marginTop="20dp"> 

       <ImageView 
        android:layout_width="20dp" 
        android:layout_height="20dp" 
        android:id="@+id/imageView5" 
        android:layout_gravity="center_vertical" 
        android:layout_marginLeft="15dp" 
        android:background="@drawable/pass" /> 

       <AutoCompleteTextView 
        android:layout_width="match_parent" 
        android:layout_height="40dp" 
        android:hint="@string/prompt_password" 
        android:maxLines="1" 
        android:singleLine="true" 
        android:inputType="textPassword|text" 
        android:layout_below="@+id/linearLayoutFirstName" 
        android:layout_toRightOf="@+id/linearLayoutFirstName" 
        android:layout_toEndOf="@+id/linearLayoutFirstName" 
        android:background="@android:color/transparent" 
        android:layout_marginLeft="20dp" 
        android:layout_gravity="center" 
        android:textSize="12sp" /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="250dp" 
       android:layout_height="40dp" 
       android:layout_gravity="center" 
       android:id="@+id/linearLayout6" 
       android:background="@drawable/field_1" 
       android:layout_below="@+id/linearLayout5" 
       android:layout_alignLeft="@+id/linearLayout5" 
       android:layout_alignStart="@+id/linearLayout5" 
       android:layout_marginTop="20dp"> 

       <ImageView 
        android:layout_width="15dp" 
        android:layout_height="25dp" 
        android:id="@+id/imageView6" 
        android:layout_gravity="center_vertical" 
        android:layout_marginLeft="15dp" 
        android:background="@drawable/phone" /> 

       <EditText 
        android:layout_width="30dp" 
        android:layout_height="match_parent" 
        android:inputType="number" 
        android:ems="10" 
        android:id="@+id/editText" 
        android:layout_marginLeft="20dp" 
        android:background="@android:color/transparent" 
        android:hint="+91" 
        android:textSize="14sp" /> 
       <View 
        android:layout_width="1dp" 
        android:layout_height="match_parent" 
        android:background = "@android:color/darker_gray" 
        android:layout_marginTop="05dp" 
        android:layout_marginBottom="05dp"> 
       </View> 
       <AutoCompleteTextView 
        android:layout_width="match_parent" 
        android:layout_height="40dp" 
        android:hint="MOBILE NO" 
        android:maxLines="1" 
        android:singleLine="true" 
        android:layout_below="@+id/linearLayoutFirstName" 
        android:layout_toRightOf="@+id/linearLayoutFirstName" 
        android:layout_toEndOf="@+id/linearLayoutFirstName" 
        android:background="@android:color/transparent" 
        android:layout_gravity="center" 
        android:textSize="12sp" 
        android:layout_marginLeft="05dp" 
        android:inputType="number" /> 
      </LinearLayout> 

     </LinearLayout> 


     <Button android:id="@+id/sign_up_button" 
      android:layout_width="match_parent" android:layout_height="40dp" 
      android:text="SIGN UP" 
      android:textSize="14sp" 
      android:textColor="@android:color/white" 
      style="?android:attr/borderlessButtonStyle" 
      android:layout_gravity="left" 
      android:background="@drawable/rounded_shape" 
      android:layout_alignParentBottom="false" 
      android:layout_alignRight="@+id/linearLayout5" 
      android:layout_alignEnd="@+id/linearLayout5" 
      android:layout_alignLeft="@+id/linearLayout5" 
      android:layout_alignStart="@+id/linearLayout5" 
      android:layout_below="@+id/linearLayout5" 
      android:layout_marginTop="40dp" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="30dp" 
      android:text="@string/register" 
      android:id="@+id/alreadyRegistered" 
      android:focusable="false" 
      android:layout_centerHorizontal="true" 
      android:layout_alignParentBottom="true" 
      android:textColorLink="@android:color/darker_gray" 
      android:textIsSelectable="true" 
      android:textSize="14sp" 
      android:layout_marginBottom="10dp" 
      android:textAlignment="center" /> 

    </RelativeLayout> 
</ScrollView> 

別のレイアウトで同じことをしますが、最初の編集テキストをクリックすると、キーボードがポップアップされている間に最初の編集テキストも上にスクロールします。ここで何が間違っていますか?これも使用しました。

アンドロイド:windowSoftInputMode = "stateHidden | adjustResize"

フラグメント:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
    <ScrollView 
     android:id="@+id/my_scrollview" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fillViewport="true"> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:id="@+id/linearLayout5" 
    android:layout_gravity="center" 
    android:layout_centerHorizontal="true"> 

    <LinearLayout android:layout_width="300dp" 
     android:layout_height="40dp" 
     android:layout_gravity="center" 
     android:id="@+id/linearLayoutFirstName" 
     android:layout_below="@+id/linearLayoutSecondName" 
     android:background="@drawable/field_1" 
     android:layout_marginTop="20dp"> 

     <EditText android:id="@+id/password" android:layout_width="match_parent" 
      android:layout_height="40dp" android:hint="First Name" 
      android:imeActionId="@+id/login" 
      android:imeActionLabel="@string/action_sign_in_short" 
      android:imeOptions="actionUnspecified" 
      android:maxLines="1" android:singleLine="true" 
      android:layout_gravity="center" 
      android:layout_below="@+id/linearLayoutSecondName" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_marginLeft="20dp" 
      android:background="@android:color/transparent" 
      android:textSize="12sp" 
      android:inputType="text" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="300dp" 
     android:layout_height="40dp" 
     android:layout_gravity="center" 
     android:id="@+id/linearLayoutSecondName" 
     android:background="@drawable/field_1" 
     android:layout_below="@+id/linearLayout5" 
     android:layout_alignRight="@+id/imageView2" 
     android:layout_alignEnd="@+id/imageView2" 
     android:layout_marginTop="20dp"> 

     <AutoCompleteTextView 
      android:layout_width="match_parent" 
      android:layout_height="40dp" 
      android:hint="Last Name" 
      android:maxLines="1" 
      android:singleLine="true" 
      android:inputType="text" 
      android:layout_below="@+id/linearLayoutFirstName" 
      android:layout_toRightOf="@+id/linearLayoutFirstName" 
      android:layout_toEndOf="@+id/linearLayoutFirstName" 
      android:background="@android:color/transparent" 
      android:layout_marginLeft="20dp" 
      android:layout_gravity="center" 
      android:textSize="12sp" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="300dp" 
     android:layout_height="40dp" 
     android:layout_gravity="center" 
     android:id="@+id/linearLayoutDOB" 
     android:background="@drawable/field_1" 
     android:layout_below="@+id/linearLayout5" 
     android:layout_alignLeft="@+id/linearLayout5" 
     android:layout_alignStart="@+id/linearLayout5" 
     android:layout_marginTop="20dp"> 

     <AutoCompleteTextView 
      android:layout_width="match_parent" 
      android:layout_height="40dp" 
      android:hint="Date Of Birth" 
      android:singleLine="true" 
      android:layout_below="@+id/linearLayoutFirstName" 
      android:layout_toRightOf="@+id/linearLayoutFirstName" 
      android:layout_toEndOf="@+id/linearLayoutFirstName" 
      android:background="@android:color/transparent" 
      android:layout_gravity="center" 
      android:textSize="12sp" 
      android:layout_marginLeft="20dp" 
      android:inputType="date" /> 


    </LinearLayout> 
    <LinearLayout 
     android:layout_width="300dp" 
     android:layout_height="40dp" 
     android:id="@+id/linearLayoutLocation" 
     android:layout_below="@+id/linearLayoutSecondName" 
     android:background="@drawable/field_1" 
     android:layout_marginTop="20dp" 
     android:layout_gravity="center"> 

     <EditText 
      android:id="@+id/editText2" 
      android:layout_width="match_parent" 
      android:layout_height="40dp" 
      android:hint="Location" 
      android:maxLines="1" 
      android:singleLine="true" 
      android:layout_gravity="center" 
      android:layout_below="@+id/linearLayoutSecondName" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_marginLeft="20dp" 
      android:background="@android:color/transparent" 
      android:textSize="12sp" 
      android:inputType="text" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="300dp" 
     android:layout_height="40dp" 
     android:id="@+id/linearLayoutAnniversary" 
     android:layout_below="@+id/linearLayoutSecondName" 
     android:background="@drawable/field_1" 
     android:layout_marginTop="20dp" 
     android:layout_gravity="center"> 

     <EditText 
      android:id="@+id/editText" 
      android:layout_width="match_parent" 
      android:layout_height="40dp" 
      android:hint="Anniversary" 
      android:maxLines="1" 
      android:singleLine="true" 
      android:layout_gravity="center" 
      android:layout_below="@+id/linearLayoutSecondName" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_marginLeft="20dp" 
      android:background="@android:color/transparent" 
      android:textSize="12sp" 
      android:inputType="date" /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="300dp" 
     android:layout_height="40dp" 
     android:id="@+id/linearLayout8" 
     android:layout_below="@+id/linearLayoutSecondName" 
     android:background="@drawable/field_1" 
     android:layout_marginTop="20dp" 
     android:layout_gravity="center"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="40dp" 
      android:hint="Identify Family Members In Contacts" 
      android:maxLines="1" 
      android:singleLine="true" 
      android:layout_gravity="center" 
      android:layout_below="@+id/linearLayoutSecondName" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_marginLeft="20dp" 
      android:background="@android:color/transparent" 
      android:textSize="12sp" 
      android:inputType="text" /> 
    </LinearLayout> 

    <Button android:id="@+id/sign_up_button" 
     android:layout_width="300dp" android:layout_height="40dp" 
     android:text="SUBMIT" 
     android:textColor="@android:color/white" 
     android:textSize="14sp" 
     style="?android:attr/borderlessButtonStyle" 
     android:layout_gravity="center_horizontal|bottom" 
     android:background="@drawable/rounded_shape" 
     android:layout_alignParentBottom="false" 
     android:layout_alignRight="@+id/linearLayout5" 
     android:layout_alignEnd="@+id/linearLayout5" 
     android:layout_alignLeft="@+id/linearLayout5" 
     android:layout_alignStart="@+id/linearLayout5" 
     android:layout_below="@+id/linearLayout5" 
     android:layout_marginTop="40dp" /> 
</LinearLayout> 


</ScrollView> 
</RelativeLayout> 
+0

これを追加 –

+0

これを試しましたが、編集した質問を確認してください。 @MarkoNiciforovic –

+0

それはあなたのレイアウトのルート、ルート= 1番目のビューではない..あなたのルートが相対的なレイアウトであることがわかるように –

答えて

0

使用Scroll ViewあなたRoot Layoutとして。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

また、あなたのManifestにこれを追加します。あなたのmanifest.xmlで

<activity android:name="YourActivity" 
      android:windowSoftInputMode="adjustResize" /> 
+0

これを試してみました編集した質問を確認してください。 @jaydroider –

+0

別のログインレイアウトで確認できますか?編集した質問を確認してください。ありがとうございました。 @jaydroider –

+0

あなたの 'Manifest' ** OR **'アンドロイド:windowSoftInputMode = "stateVisible | adjustPan"で、この 'android:windowSoftInputMode =" stateVisible | adjustResize "を追加してみてください。 –

0
あなたはScrollViewにレイアウト・ルートを変更する必要が

代わりのRelativeLayout

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/my_scrollview" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 

<!--Your layout components--> 


<!--Your layout components--> 

</ScrollView 

レイアウトのscrollviewルートを作るあなたの活動に

android:windowSoftInputMode="stateHidden|adjustPan" 
+0

編集した質問をチェックしてみてください。@BOUTERBIAT Oualid –

+0

RelativeLyoutの代わりにScrollViewとして最初のルートを作成します。ScrollViewの下に移動させます –

+0

もう一度編集を確認してください。 @BOUTERBIAT Oualid –

関連する問題