Change Line Color of EditText - Android

2019-01-23 16:46发布

Can I change the line color on EditText. When is active it has some greenish color.Image

Is it possible to change only the color of line when is active, and how can I do this...?

9条回答
手持菜刀,她持情操
2楼-- · 2019-01-23 17:01

You need to set background source for an edit text.

  1. Generate it http://android-holo-colors.com/
  2. Than you can apply generated drawable as background like android:background="@drawable/my_theme_edit_text" for the custom EditText. Or you can set that background in your app theme - you will find example in .zip file from that site
查看更多
放我归山
3楼-- · 2019-01-23 17:05
<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"
/>

Use the below code in your 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>
查看更多
Emotional °昔
4楼-- · 2019-01-23 17:06

add to your themes.xml this line:

<item name="colorAccent">@color/black</item>

this sets the default color for colorControlActivated which is used to tint widgets

查看更多
Rolldiameter
5楼-- · 2019-01-23 17:09

You can set background of edittext to a rectangle with minus padding on left, right and top to achieve this.

Here is the xml example for setting different line colors for focused and not focused edittext, just set it as background of 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>
查看更多
别忘想泡老子
6楼-- · 2019-01-23 17:11

Here you are:

editText.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
查看更多
Viruses.
7楼-- · 2019-01-23 17:15

If your using TextInputLayouts for EditText, we should change the following properties.

<item name="colorControlNormal">#c5c5c5</item>
<item name="colorControlActivated">@color/your color</item>
<item name="colorControlHighlight">@color/your color</item>

By default colour is colorAccent.

查看更多
登录 后发表回答