填充在某些设备上不起作用

时间:2015-05-07 04:47:52

标签: android android-layout padding android-xml

在设置填充到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" />

以下是Samsung Note 2(Android 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

3 个答案:

答案 0 :(得分:2)

更新到API级别21后,通过xml的EditText填充不起作用 但EditText填充工作,如果它以编程方式定义。

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

您可以在android issue tracker.

上跟踪此问题

还有其他一些替代方案,在问题跟踪器主题中进行了讨论。

答案 1 :(得分:2)

我在HTC One X上注意到了这一点。这并不能解决您的特定问题,但将paddingStart更改为paddingLeft对我有用。

答案 2 :(得分:0)

这是dpi设备问题。利用&#34; dimen&#34;文件夹,为各种设备屏幕大小提供不同的dp。当然,这将解决您的问题。

android:paddingLeft="@dimen/yourValueName"