2015-03-28 11 views
7

zmarnowałem ostatnią godzinę próbuje dowiedzieć się, jak pozbyć się tego dopełnienia w prosty EditText: enter image description hereJak usunąć wyściółkę do wstawiania EditText?

Chcę tylko, aby wyrównać wkład z resztą zawartości, podobnie jak piękne design guide mówi .

Układ nie może być prostsze:

<ScrollView 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" 
      tools:context="com.actinarium.tiomantas.SetupChallengeFragment"> 

    <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:padding="16dp" 
      android:orientation="vertical"> 

     <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="@string/new_challenge_name"/> 

     <EditText 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="@string/new_challenge_name_hint1" 
       android:singleLine="false"/> 

    </LinearLayout> 

</ScrollView> 

Próbowałem ustawienie wyściółkę na EditText do 0DP - tekst przesunięty ale linia pozostała bez zmian. Co dziwne, nie mogłem znaleźć DOWOLNEJ informacji na ten temat, jakby nikt tego nie zauważył.

+0

PS: Coś mi mówi, że tak jak w przypadku wszystkich innych elementów Androida, nawet w przypadku tej trywialnej rzeczy będę musiał tworzyć własne rysunki ... Zastanawiam się tylko, dlaczego ich macierzyste widżety nie są zgodne z ich specyfikacją projektu ... – Actine

Odpowiedz

9

Myślę, że linia jest obrazem tła dla EditText, więc zmiana wypełnienia nie wpłynie na to. Jeśli chcesz, możesz utworzyć niestandardowe tło, które nie ma dopełnienia.

Innym włamać można zrobić, to dodać ujemną marżę na EditText:

 <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="-4dp" 
      android:hint="@string/new_challenge_name_hint1" 
      android:singleLine="false"/> 
+0

Sprawdzono w aplikacji Kontakty. Wygląda na to, że deweloperzy google podążają tą ścieżką i po prostu rozliczają się z nadmiernych 4 spadków. Szczerze myślałem, że będzie lepsze rozwiązanie. W wersji Fit po prostu zostawili to tak, jak jest – Actine

+0

Tak, zgadzam się, powinien być lepszy sposób robienia tego. –

+0

Bycie perfekcjonistą jest do bani :) Obawiam się, że to pęknie, gdy wprowadzą nowy język projektowania :) – Actine

-1
<ScrollView 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" 
    tools:context="com.actinarium.tiomantas.SetupChallengeFragment"> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:orientation="vertical" 
    android:layout_height="wrap_content"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="16dp" 
     android:orientation="vertical"> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="jhjkhkhkjkljlkjkljlkj"/> 

    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <EditText 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 

      android:hint="hjhjhjkhjkhjkhkjhoiuyiyirehyiohj" 
      android:singleLine="false"/> 
    </LinearLayout> 
</LinearLayout> 
</ScrollView> 
+0

Czy możesz wyjaśnij, dlaczego wprowadzone zmiany rozwiążą problem - biorąc pod uwagę, że Twoje rozwiązanie zwiększa głębię/złożoność układu. – Vikram

+0

Czy podążyłeś za łączem do przewodnika, a następnie wypróbowałeś swoje rozwiązanie samodzielnie? .. – Actine

2

Spróbuj podać "4dp" wypełnienia dla textView. Dopasowuje się do dopełnienia editText.

+0

Rozważałem to. Nie jestem do końca pewien, czy to obejście nie złamie interfejsu w wersji przed Lollipopem (a ostatnią rzeczą, jakiej bym chciał, jest posiadanie wielu specyficznych dla wersji XML). – Actine

+0

Zgadzam się z tobą. Ale to mała robota. Sprawdziłem wynik dodania padding w moim urządzeniu z 4.4.2 i Emulatorem z 5.0 i wygląda na to, że działa dobrze. –

+0

Właśnie zajrzał do aplikacji kontakty na Lollipop. Wygląda na to, że deweloperzy właśnie rozliczali się z nadmiernego 4dp i zmniejszyli marżę. Blimey ... – Actine

Powiązane problemy