2015-05-07 80 views
8

我在設置填充到EditText期間出現了一個奇怪的問題。 XML是這樣的:填充在某些設備上不起作用

<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" /> 

下面是三星注截圖2(安卓5.0.1):

enter image description here

...和LG G3(是Android 4.4.2):

enter image description here

正如你所看到的,android:paddingLeft不會爲LG工作。

可能是什麼原因?

謝謝。


UPD: 佈局界限(LG):

enter image description here

+1

它必須工作..由於不同的DPI設備填充變化..嘗試使用大的值,如50而不是16.5dp來檢查它是否工作?讓我知道它是否有效 – Salmaan

+0

@Salmaan結果是一樣的。在三星上運行良好,但LG參數被忽略。 –

+0

轉到開發人員選項並檢查顯示佈局範圍。之後發佈你的截圖... – Salmaan

回答

2

的EditText填充更新後無法正常工作,以API級別21
但EditText上填充的作品,如果它編程的方式定義。

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

您可以跟蹤android issue tracker.

還有一些其他的候補過這個問題,在問題追蹤器線程討論。

0

這是DPI設備的問題。利用「維度」文件夾,爲各種設備屏幕大小給出不同的dp。當然這會解決你的問題。通過XML

android:paddingLeft="@dimen/yourValueName" 
2

我注意到了這個在HTC One X上。這並不能解決你的問題,但是改變paddingStartpaddingLeft爲我工作。