7

Mam problem wyrównania z TextInputLayout i Spinner, chcę podkreślenia Spinner wyrównane z podkreślenia EditText wewnątrz TextInputLayout. To, co robię:Problem z wyrównaniem za pomocą TextInputLayout i Spinner

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

    <android.support.design.widget.TextInputLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1"> 

     <EditText 
      android:id="@+id/txt_discipline_code" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="@string/lbl_input_discipline_code"/> 
    </android.support.design.widget.TextInputLayout> 

    <Spinner 
     android:id="@+id/spnnr_color_discipline_register" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     style="@style/Base.Widget.AppCompat.Spinner.Underlined"> 

    </Spinner> 
</LinearLayout> 

Ale Spinner jest little bit below. Czy ktoś może mi pomóc? Z góry dziękuję.

EDIT:

Oto, czego chcę: The Y underline of the EditText equal to the Y underline of the Spinner

sięgam to wyrównanie ustawienia turbinki layout_marginBottom do 1.5dp:

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

    <android.support.design.widget.TextInputLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1"> 

     <EditText 
      android:id="@+id/txt_discipline_code" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="Code"/> 
    </android.support.design.widget.TextInputLayout> 

    <Spinner 
     android:id="@+id/spnnr_color_discipline_register" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     style="@style/Base.Widget.AppCompat.Spinner.Underlined" 
     android:layout_marginBottom="1.5dp"> 

    </Spinner> 
</LinearLayout> 

Ale obawiam się, że to nie będzie działa poprawnie w innym urządzeniu, o różnej wielkości. To jedyne rozwiązanie?

+0

sprawdź moją zmienioną odpowiedź –

Odpowiedz

2

Od czego wspomnieć chcesz achive ten wynik:

enter image description here

użyć tego kodu:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:gravity="bottom" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:baselineAligned="false"> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1"> 

     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:srcCompat="@drawable/ic_launcher" 
      android:id="@+id/imageView" 
      android:padding="10dp" 
      android:layout_weight="5" /> 

     <android.support.design.widget.TextInputLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_weight="1"> 
      <EditText 
       android:id="@+id/name_text" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.5" 
       android:hint="Name"/> 
     </android.support.design.widget.TextInputLayout> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1"> 

     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:srcCompat="@drawable/ic_launcher" 
      android:id="@+id/imageView1" 
      android:padding="10dp" 

      android:layout_weight="1.1" /> 

     <android.support.design.widget.TextInputLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="-12dp" 
      android:layout_marginStart="-12dp" 
      android:layout_weight="0.6"> 
      <EditText 
       android:id="@+id/code_text" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="Code"/> 
     </android.support.design.widget.TextInputLayout> 

     <Spinner 
      android:id="@+id/spnnr_color_discipline_register" 
      android:layout_width="match_parent" 
      android:layout_weight="1" 
      android:layout_height="wrap_content"/> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1"> 

     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:srcCompat="@drawable/ic_launcher" 
      android:id="@+id/imageView2" 
      android:padding="10dp" 
      android:layout_weight="5" /> 

     <android.support.design.widget.TextInputLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_weight="1"> 
      <EditText 
       android:id="@+id/foo_text" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.5" 
       android:hint="Foo"/> 
     </android.support.design.widget.TextInputLayout> 
    </LinearLayout> 


</LinearLayout> 

Nadzieja to pomaga !!!

+0

Dziękuję za odpowiedź, ale chcę to osiągnąć -> [link] (http://imgur.com/a/ivuWg), wiersz z ikoną telefonu. – caiofilipemr

+0

dlaczego nie powiedziałeś tego od początku? –

+0

Przepraszam, jeśli nie, nie jestem jasna (angielski nie jest moim ojczystym językiem), powiedziałem ci o ikonie telefonu tylko po to, aby zlokalizować cię gdzie szukać, nie chcę ikony, po prostu chcę zachowania, które EditText i Spinner w tej linii ma. Zmieniłem moje pytanie, aby było bardziej zrozumiałe. Znaleźliśmy też rozwiązanie, ale nie jestem pewien, czy jest ono ważne dla każdego dispositive. Dziękuję Ci! – caiofilipemr