2017-02-21 26 views
1

Как говорится в названии, моя проблема возникает, когда я, например, сфокусировал 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> 

EDIT: После того как я провел много тестов, я обнаружил, моя проблема была в EditText «s android:gravity="center" С android:inputType="". Если я возьму один из этих тегов, моя клавиатура отлично работает. Но я все равно хочу, чтобы текст был выровнен по центру и имел конкретный ...

+1

Просьба предоставить файл макета. –

+0

@AsifPatel Я добавил файл макета. – Cocholate

+0

Попробуйте добавить 'android: windowSoftInputMode =" adjustResize | stateAlwaysHidden "' в файле манифеста. –

ответ

0

Я попытался использовать ваш макет в приложении. Он отлично работал, когда я пытался сосредоточиться на разных EditText. Он также отлично работал, когда я отменил его, а затем снова сосредоточился на поле EditText.

Не могли бы вы еще раз объяснить эту проблему или можете попытаться не указывать android:windowSoftInputMode="adjustResize" в файле манифеста.

Потому что он отлично работает без него в моем приложении.

+1

Проблема в Android-дизайнере EditText: gravity = "center", без этого тега он отлично работает. Но я хочу, чтобы текст был в центре ... – Cocholate

+0

Вы не используете 'android: gravity =" center "для выравнивания текста в центре, это для всего объекта editext. Попробуйте использовать 'android: textAlignment =" center ", чтобы текст появился в центре. ...... Дайте мне знать, если это вам поможет –

+0

Nop. Я только что узнал, что между 'android: textAlignment' и' android: inputType' существует «сбой», если у меня есть один из них, у меня не может быть другого с этой ошибкой на клавиатуре – Cocholate