Изменение цвета линии EditText-Android
могу ли я изменить цвет линии на EditText
. Когда активен, он имеет какой-то зеленоватый цвет.
Это можно изменить только цвет линии, когда и как я могу это сделать...?
9 ответов
вам нужно установить источник фона для текста редактирования.
- создать его http://android-holo-colors.com/
- чем вы можете применить сгенерированный drawable в качестве фона, как
android:background="@drawable/my_theme_edit_text"
для пользовательскогоEditText
. Или вы можете установить этот фон в своей теме приложения - вы найдете пример .zip-файл с этого сайта
вы можете установить фон edittext в прямоугольник с минусом заполнения слева, справа и сверху, чтобы достичь этого.
вот пример xml для установки разных цветов линий для сфокусированного и не сфокусированного edittext, просто установите его в качестве фона edittext.
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:top="-2dp"
android:left="-2dp"
android:right="-2dp"
android:bottom="2dp">
<selector >
<item android:state_enabled="true"
android:state_focused="true">
<shape
android:shape="rectangle">
<stroke
android:width="2dp"
android:color="#6A9A3A"/>
</shape>
</item>
<item android:state_enabled="true">
<shape
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#000000"/>
</shape>
</item>
</selector>
</item>
</layer-list>
добавить в темы.в XML эта строка:
<item name="colorAccent">@color/black</item>
это устанавливает цвета по умолчанию для colorControlActivated
который используется для оттенка виджетов
вы тут:
editText.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
вы можете установить android: backgroundTint= "@color / blue", чтобы изменить цвет нижней строки Edittext
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:background="@drawable/text"
android:ems="10"
android:textColorHint="#fefefe"
android:hint="@string/text1"
android:textColor="#fefefe"
android:inputType="textEmailAddress"
android:layout_marginTop="10dp"
/>
используйте приведенный ниже код в res/drawable / text.в XML
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="24.0dp">
<shape >
<solid android:color="#fefefe" />
</shape>
</item>
</layer-list>
можно использовать android:background = "@color/black" for the api 21
или выше 21 (это будет применяться для устройства lollypop или выше версий), а для версий ниже вы должны использовать стиль для edittext.
У меня была такая же проблема решил его, изменив цвет backgroundTint следующим образом -
android: backgroundTint= "@color / light_color"
Если вы используете TextInputLayouts для EditText, мы должны изменить следующие свойства.
<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">@color/your color</item>
<item name="colorControlHighlight">@color/your color</item>
по умолчанию цвет colorAccent.