2017-02-21 9 views
1

私の問題は、例えば私がEditTextに焦点を当て、キャンセルして再度フォーカスしようとしたときに発生します。初めてフォーカスを取得すると、EditTextをキーボードの上に置くように画面が再調整されますが、すでにフォーカスがあるときはキーボードが単にEditTextをカバーします。両方の状況で画面を再調整するためにできることはありますか?すでに焦点を当てているときにレイアウトがソフトキーボードに合っていないEditTextが再選択されました

PS .: 私のマニフェストファイルには既にandroid:windowSoftInputMode="adjustResize"があります。

レイアウト:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:gravity="center_horizontal|center_vertical" 
    tools:context=".app.Activities.LoginActivity" 
    android:orientation="vertical" 
    android:configChanges="orientation" 
    android:screenOrientation="portrait" 
    android:id="@+id/activity_login"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:gravity="center" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:configChanges="orientation" 
     android:screenOrientation="portrait"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="text" 
      android:id="@+id/editTextLogin"/> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textPassword" 
      android:id="@+id/editTextPassword"/> 

     <Button 
      android:text="@string/LoginLogar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/buttonEntrar" /> 

    </LinearLayout> 

</LinearLayout> 

編集:私はテストの多くを走った後、私が発見 私の問題がでたEditTextandroid:gravity="center"android:inputType="" WITH。このタグの1つを取り出すと、キーボードが完全に機能します。しかし、私はまだテキストを中央に揃えて、特定のものを持っていたいと思っています。

+1

レイアウトファイルを入力してください。 –

+0

@AsifPatelレイアウトファイルを追加しました。 – Cocholate

+0

マニフェストファイルに 'android:windowSoftInputMode =" adjustResize | stateAlwaysHidden "を追加してみてください。 –

答えて

0

アプリケーションであなたのレイアウトを使用しようとしました。私は別のEditTextに集中しようとしたときにうまくいきました。 キャンセルしてからEditTextフィールドに再度フォーカスしたときもうまくいきました。

マニフェストファイルにandroid:windowSoftInputMode="adjustResize"と言及しないようにしてください。

私のアプリケーションでは問題なく動作します。

+1

問題はEditTextのandroid:gravity = "center"にあり、このタグがないと完全に動作しません。しかし、テキストを中央に配置したいと思っています... – Cocholate

+0

'android:gravity =" center "'を使用してテキストを中央に揃えます。これはeditextオブジェクト全体のものです。 'android:textAlignment =" center "'を使ってテキストを中央に表示させてみてください。 ......それがあなたを助けるかどうか知らせてください。 –

+0

Nop。私は 'android:textAlignment'と' android:inputType'の間に "クラッシュ"があることを知りました。もし私がそれを持っていれば、キーボードにこのバグを残すことはできません – Cocholate

関連する問題