2015-02-25 4 views
0

я это EditText:Почему не будет ли «сделать» кнопка показать для этого EditText, когда мой телефон вертикальной

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/inputText" 
    android:inputType="textCapCharacters|textMultiLine" 
    android:hint="@string/input_text_hint" 
    android:gravity="top|left"/> 

Когда я выбираю его в то время как мой телефон находится в горизонтальном положении, я вижу это: enter image description here

Но когда я выбираю его в то время как мой телефон вертикально, я вижу это: enter image description here

когда телефон вертикально, я хочу кнопку «ГОТОВО», чтобы выглядеть, как это происходит, когда телефон находится гориз ontal.

Я также хочу, чтобы клавиша возврата перемещала курсор по строке при нажатии.

Как это сделать?

EDIT

Полный activity_main.xml в случае кто-нибудь интересно ...

<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:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" 
    android:weightSum="18" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="13"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/inputText" 
      android:inputType="textCapCharacters|textMultiLine" 
      android:hint="@string/input_text_hint" 
      android:gravity="top|left"/> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="2"> 

     <Button 
      android:background="@drawable/main_button" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:text="@string/big_button" 
      android:id="@+id/bigButton" 
      android:textSize="68sp" 
      android:focusableInTouchMode="false" 
      android:fontFamily="sans-serif-black" 
      style="@style/button_text"/> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="3" 
     android:clickable="false"></LinearLayout> 
</LinearLayout> 
+1

Опубликуйте весь свой файл макета. – Squonk

ответ

1

Когда телефон вертикально, я хочу кнопку «ГОТОВО», чтобы выглядеть, как это происходит, когда телефон находится в горизонтальном положении ,

В ландшафте, редактирование EditText занимает весь экран; ни один из пользовательских интерфейсов приложения не отображается или недоступен для прокрутки/прослушивания. Вот почему кнопка «DONE» отображается только в альбомной ориентации, так что пользователь может выйти из режима редактирования и вернуться в пользовательский интерфейс приложения. Если у вас есть дополнительные EditText просмотров после текущего, кнопка отобразит «СЛЕДУЮЩИЙ».

В портрете пользовательский интерфейс приложения виден, поэтому эта кнопка не отображается. Вместо этого пользователь может выполнять действия непосредственно в пользовательском интерфейсе приложения после редактирования.

Я также хочу, чтобы клавиша возврата перемещала курсор вниз по линии при нажатии.

Вы имеете в виду вставить новую строку, а затем переместить курсор на новую строку? Если это так, то укажите это значение textMultiLine в android:inputType. Что происходит, когда вы нажимаете клавишу ввода?

+0

Когда я нажимаю клавишу ввода, курсор переходит к новой строке, и это нормально. –

1

Когда телефон горизонтальный, вы находитесь в специальном режиме «Извлечь вид», где клавиатура рисует весь экран. Вот как его рисует клавиатура. В портрете вы не находитесь в режиме извлечения, поэтому он не покажет, что ui. Обратите внимание, что это поведение варьируется в зависимости от клавиатуры, поэтому многие клавиатуры предпочитают не просматривать экстракт, особенно на планшетах.

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

+0

Я не уверен, что на самом деле это так. «Извлечение вида», о котором вы говорите, применимо к полноэкранному режиму IME, где клавиатура не только занимает всю ширину экрана, но и почти полную высоту экрана, а показанное EditText генерируется IME.Непонятно из сообщения OP, если кнопка «Готово» является частью их компоновки или если она автоматически создана. Если OP не покажет их полный XML-файл макета, это трудно сказать. – Squonk

+0

Я написал Swype. Я узнаю вид извлечения. Это то, что происходит –

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

  • Нет связанных вопросов^_^