2015-05-07 11 views
8

Ich hatte ein seltsames Problem während der eingestellten Padding zu EditText. xml sieht wie folgt aus:Padding funktioniert bei einigen Geräten nicht

<EditText 
    android:layout_width="270dp" 
    android:layout_height="55dp" 
    android:ems="10" 
    android:id="@+id/etEmail" 
    android:textStyle="bold" 
    android:layout_gravity="center_vertical" 
    android:textColor="#FFFFFF" 
    android:hint="Or Use your Email" 
    android:inputType="textEmailAddress" 
    android:layout_alignLeft="@+id/textView6" 
    android:layout_alignStart="@+id/textView6" 
    android:textColorHint="#FFFFFF" 
    android:background="@drawable/line_white" 
    android:paddingLeft="16.5dp" 
    android:layout_marginTop="10dp" 
    android:paddingRight="2dp" /> 

Hier ist der Screenshot von Samsung Note 2 (Android 5.0.1):

enter image description here

... und LG G3 (Android 4.4.2):

enter image description here

Wie Sie sehen können, ist android:paddingLeft nicht für LG arbeiten.

Was könnte der Grund sein?

Danke.


UPD: Layoutgrenzen (LG):

enter image description here

+1

Es muss funktionieren .. aufgrund unterschiedlicher dpi der Geräte padding variiert .. versuchen Sie mit einem großen Wert wie 50 statt 16.5dp um zu überprüfen, ob es funktioniert oder nicht? Lassen Sie mich wissen, wenn es funktioniert – Salmaan

+0

@Salmaan Das Ergebnis ist das gleiche. Funktioniert gut auf Samsung, aber auf LG Parameter wird ignoriert. –

+0

Wechseln Sie zu den Optionen des Entwicklers und überprüfen Sie die Grenzen des Anzeigenlayouts. Poste deinen Screenshot danach ... – Salmaan

Antwort

2

EditText padding über xml funktioniert nicht nach Update auf API-Ebene 21
Aber EditText padding funktioniert, wenn es programmatisch definieren.

editText.setPadding(10, 0, 0, 0); 

können Sie dieses Problem verfolgen auch auf android issue tracker.

Es gibt einige andere wechselt, in der issue tracker Thread diskutiert.

0

Dies ist dpi Gerät Problem. Verwenden Sie den Ordner "Dimen", geben Sie verschiedene DP für verschiedene Bildschirmgrößen des Geräts. Sicherlich wird das dein Problem lösen.

android:paddingLeft="@dimen/yourValueName" 
2

Ich habe dies auf dem HTC One X bemerkt. Dies behebt nicht Ihr spezielles Problem, aber die Änderung paddingStart zu paddingLeft funktionierte für mich.

Verwandte Themen