2016-01-24 5 views
2

Я имею EditText в иерархииEditText покрыта клавиатура

<CoordinateLayout> 
... 
    <NestedScrollView> 
    ... 
     <RelativeLayout> <!-- This is inside an included xml layout --> 
     ... 
      <EditText 
       android:id="@+id/rateCalculator" 
       android:layout_width="wrap_content" 
       android:layout_height="48dp" 
       android:background="@color/colorPrimary" 
       android:inputType="number" 
       android:maxLength="5" 
       android:gravity="center" 
       android:textColor="#FFFFFF" 
       android:layout_alignParentBottom="true" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentStart="true" 
       android:layout_alignParentRight="true" 
       android:layout_alignParentEnd="true" 
       android:paddingLeft="60dp" /> 
     </RelativeLayout> 
    </NestedScrollView> 
</CoordinateLayout> 

EditText покрывается с помощью андроида мягкой клавиатуры, когда она быть в центре внимания! Поэтому я не могу видеть, что набирается при наборе текста!

Update:

Это мой манифест код. Не помогает!

<activity 
     android:name=".OfferRide" 
     android:label="@string/title_activity_offer_ride" 
     android:screenOrientation="portrait" 
     android:windowSoftInputMode="adjustPan" 
     android:theme="@style/AppTheme.NoActionBar" /> 

enter image description here

enter image description here

+1

В зависимости от поведения вы хотите получить, вы можете использовать андроид: windowSoftInputMode = «adjustResize» или андроид: windowSoftInputMode = «adjustPan» на ваше объявлении деятельности в манифесте. – thetonrifles

ответ

2

Удаление gravity из EditText сделал это! Кажется, это ошибка.

<EditText 
    android:id="@+id/rateCalculator" 
    android:layout_width="wrap_content" 
    android:layout_height="48dp" 
    android:background="@color/colorPrimary" 
    android:inputType="number" 
    android:maxLength="5" 
    android:textColor="#FFFFFF" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:paddingLeft="60dp" /> 
+0

Я думаю, что это не ошибка, это ошибка типографии или что-то, возможно, вы не видели или не ошиблись при написании, но, мой Ответ работал с удалением этой силы тяжести? – Mohsen

+2

Проверяют и сообщают вам об этом :) – Sibidharan

+3

Ну, ничего не работает, кроме снятия гравитации! Я занимался исследованиями в Интернете, и он говорит, что это ошибка! @ LinX64 благодарит за ваши усилия. – Sibidharan

0

Вы можете попробовать adjustPan, доступный для windowSoftInputMode вариантов adjustResize в вашем AndroidManifest следующим образом:

<activity 
    ... 
    android:windowSoftInputMode="adjustPan" > 
</activity> 

Вы можете больше узнать об этом от here

+1

Я думаю, что проблема связана с NoActionBar, темой, делая активность во весь экран влияет на работу корректировки, изменение размера .. функциональность .. обратитесь к этому [вопрос] (http://stackoverflow.com/questions/4558810/adjustpan-not- предотвращение-клавиатура-от-cover-edittext) –

0

В зависимости от поведения, которое вы хотите получить, вы можете использовать android: windowSoftInputMode = "adjustResize" или android: windowSoftInputMode = "adjustPan" в вашей декларации активности в манифесте.

0

Вот полный документ:http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

android:windowSoftInputMode=["stateUnspecified", 
             "stateUnchanged", "stateHidden", 
             "stateAlwaysHidden", "stateVisible", 
             "stateAlwaysVisible", "adjustUnspecified", 
             "adjustResize", "adjustPan"] > 

Как главное окно деятельности взаимодействует с окном , содержащей экранную виртуальную клавиатуру. Настройка для этого атрибута влияет на две вещи: состояние мягкой клавиатуры - будь то скрыто или видно - когда деятельность становится фокусом пользователя внимание. Корректировка, сделанная в главном окне деятельности - , она меньше по размеру, чтобы освободить место для мягкой клавиатуры или его содержимое, чтобы сделать текущий фокус видимым, когда часть окна покрыта мягкой клавиатурой. Этот параметр должен быть одним из значений , перечисленных в следующей таблице, или комбинацией одного значения «состояние ...» плюс одно значение «настроить ...». Установка нескольких значений в любой группе - несколько значений «состояние ...», например - имеет неопределенные результаты. Отдельные значения разделяются вертикальной чертой (|). Например:

<activity android:windowSoftInputMode="stateVisible|adjustResize" . . . > 

Значение, установленного здесь (кроме "stateUnspecified" и "adjustUnspecified") значений переопределения, заданных в теме.

Флаги:

  • "stateUnspecified"
  • "stateUnchanged"
  • "stateHidden" - состояние виртуальной клавиатуры - будь то скрытые или видимые - когда деятельность становится в центре внимания внимания пользователя.
  • "stateAlwaysHidden"
  • "stateVisible"
  • "stateAlwaysVisible"
  • "adjustUnspecified"
  • "adjustResize"

Или иногда Java будет делать:

EditText edtView=(EditText)findViewById(R.id.editTextConvertValue); 
    edtView.setInputType((InputType.TYPE_NULL); 

Посмотрите:

https://stackoverflow.com/a/6122733/4409113

+1

Проверка этого .. Пожалуйста, держитесь! – Sibidharan

+0

Не помогает! Это все равно! – Sibidharan

+0

Я нашел ответ. причина «серьезности» в «EditText» является причиной ошибки. Удалять это помогает! Я отвечаю на него. Спасибо за вашу помощь. – Sibidharan

Смежные вопросы