填充在某些设备上不起作用
Padding doesn't work on some devices
我在将填充设置为 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" />
这是三星 Note 2 (Android 5.0.1) 的屏幕截图:
...和 LG G3 (Android 4.4.2):
如您所见,android:paddingLeft
不适用于 LG。
可能是什么原因?
谢谢。
更新:
布局边界 (LG):
这是dpi设备问题。利用 "dimen" 文件夹,为不同的设备屏幕尺寸提供不同的 dp。当然,这将解决您的问题。
android:paddingLeft="@dimen/yourValueName"
更新到 API 级别 21 后,通过 xml 的 EditText 填充不起作用。
但 EditText 填充有效,如果它以编程方式定义。
editText.setPadding(10, 0, 0, 0);
上跟踪此问题
还有一些其他替代方案,在问题跟踪线程中进行了讨论。
我在 HTC One X 上注意到了这一点。这并不能解决您的特定问题,但将 paddingStart
更改为 paddingLeft
对我有用。
我在将填充设置为 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" />
这是三星 Note 2 (Android 5.0.1) 的屏幕截图:
...和 LG G3 (Android 4.4.2):
如您所见,android:paddingLeft
不适用于 LG。
可能是什么原因?
谢谢。
更新: 布局边界 (LG):
这是dpi设备问题。利用 "dimen" 文件夹,为不同的设备屏幕尺寸提供不同的 dp。当然,这将解决您的问题。
android:paddingLeft="@dimen/yourValueName"
更新到 API 级别 21 后,通过 xml 的 EditText 填充不起作用。
但 EditText 填充有效,如果它以编程方式定义。
editText.setPadding(10, 0, 0, 0);
上跟踪此问题
还有一些其他替代方案,在问题跟踪线程中进行了讨论。
我在 HTC One X 上注意到了这一点。这并不能解决您的特定问题,但将 paddingStart
更改为 paddingLeft
对我有用。