Padding не работает на некоторых устройствах
У меня были странные проблемы во время набора 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):
... и LG G3 (Android 4.4.2):
Как вы видете, android:paddingLeft
не работает для LG.
Что может быть причиной?
Благодарю.
UPD: Схема расположения (LG):
3 ответа
Редактирование текста через xml не работает после обновления до уровня API 21.
Но заполнение EditText работает, если оно определено программно.
editText.setPadding(10, 0, 0, 0);
Вы можете отслеживать эту проблему на Android трекер.
Есть также некоторые другие альтернативы, обсуждаемые в теме отслеживания проблем.
Я заметил это на HTC One X. Это не решает вашу конкретную проблему, но меняется paddingStart
в paddingLeft
работал на меня.
Это проблема устройства dpi. Используйте папку "измерения", дайте различные значения для разных размеров экрана устройства. Конечно, это решит вашу проблему.
android:paddingLeft="@dimen/yourValueName"