2017-01-31 10 views
0

Я пытаюсь установить виджет TextInputLayout горизонтально с родительским макетом как Линейный макет.Попытка исправления виджета ввода текста в горизонтальной ориентации

<LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:gravity="center_horizontal"> 

      <android.support.design.widget.TextInputLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="50dp" 
       android:layout_gravity="center" 
       > 
       <EditText 
        android:id="@+id/phone_code" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:maxLines="1" 
        android:layout_gravity="center_horizontal" 
        android:textSize="25sp" 
        android:text="+91" 
        android:focusableInTouchMode="false" 
        android:clickable="false" 
        android:maxLength="5" 
        android:textColor="@color/white" 
        android:hint="@string/phone_code" 
        android:textCursorDrawable="@null" 
        android:inputType="none"> 

        <requestFocus /> 

       </EditText> 

      </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="50dp" 
      android:layout_gravity="center" 
      > 

      <EditText 
       android:id="@+id/loginNo" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:maxLines="1" 
       android:minWidth="200dp" 
       android:layout_gravity="center_horizontal" 
       android:textSize="25sp" 
       android:maxLength="10" 
       android:textColor="@color/white" 
       android:hint="@string/msg_enter_mobile" 
       android:digits="1234567890+" 
       android:textCursorDrawable="@null" 
       android:inputType="phone"> 

       <requestFocus /> 

      </EditText> 

     </android.support.design.widget.TextInputLayout> 

     </LinearLayout> 

Сейчас этот виджет имеет request focus, когда он сосредоточен на виде этот намек двигается вверх, давая мне место, чтобы писать в редактировании текста раньше, когда я был single edittext он работает нормально, но теперь этот намек hidden я не могу видеть.

ответ

1

Удалить ваш TextInputLayoutlayout_gravity от обоих из них, и он будет работать:

 <android.support.design.widget.TextInputLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="50dp" 
      //layout_gravity removed 
      > 

enter image description here

Ошибка Вид

Как уже упоминалось на мой комментарий, Посмотрите изображение 1) android:layout_marginBottom="50dp" заставил представление войти в панель инструментов, 2) После того, как вы избегаете гравитации (я удаляю что я не хотел вводить в заблуждение ваш битмангин).

enter image description here

+1

Работал ... но скажите, почему это произошло только при добавлении другого текста редактирования? – SamH67

+1

Извините, офисные встречи. 1.) гравитация для 'TextInputlayout' взяла подсказку внутри панели инструментов, вызванную вашим lineralayout' wrap_content'. 2.) Избегайте жесткого кодирования вашего 'layout_marginBottom =" 50dp "для' TextInputLayout', который также отвечает за проблему №. 1. 3) Избегайте жесткого кодирования. 4.) Я удалил гравитацию, потому что я не хотел вводить вас в заблуждение. – W4R10CK

0

Попробуйте использовать следующее: ширина 0dp и вес 1 для обоих элементов. Вы можете указать вес в соответствии с пространством, которое хотите, чтобы элемент занимал, используйте вес 2 для одного из элементов, и вы заметите разницу. Надеюсь, поможет.

<android.support.design.widget.TextInputLayout 
       android:layout_width="0dp" 
       android:layout_weight="1" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="50dp" 
       android:layout_gravity="center" 
       > 
       <EditText 
        android:id="@+id/phone_code" 
        android:layout_width="0dp" 
        android:layout_weight="1" 
        android:layout_height="wrap_content" 
        android:maxLines="1" 
        android:layout_gravity="center_horizontal" 
        android:textSize="25sp" 
        android:text="+91" 
        android:focusableInTouchMode="false" 
        android:clickable="false" 
        android:maxLength="5" 
        android:textColor="@color/white" 
        android:hint="@string/phone_code" 
        android:textCursorDrawable="@null" 
        android:inputType="none"> 

        <requestFocus /> 

       </EditText> 
+0

Я знаю, как использовать вес, но моя проблема уже решена, см. Проверенный ответ – SamH67

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

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