how to change highlight color on editText field

2019-03-24 04:57发布

问题:

Below is a screen shot of a custom edit text field i have in my android app. While you are type a given word, the text for the word you are currently typing highlights in grey and shows the text as black, until you hit the space bar at which time the text turns white as expected. Is there a way to change the color of the highlight and the text that is highlighted?

my edit text xml looks like this

 <EditText
                    android:id="@+id/searchField"
                    android:layout_width="160dp"
                    android:layout_height="44dp"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="60dp"
                    android:background="@null"
                    android:cursorVisible="true"
                    android:ems="10"
                    android:textColor="@color/white"
                    android:textColorHighlight ="#ff0000"
                    android:textCursorDrawable="@null" >
                </EditText>

the whole layout

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <!--
         As the main content view, the view below consumes the entire
         space available using match_parent in both dimensions.
    -->

    <RelativeLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#fff" >



        <fragment
            android:id="@+id/map"
            android:name="com.sapientnitro.inhouse.drop.components.DRPCustomMapFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />



        <ImageButton
            android:id="@+id/btn_center_local"
            android:layout_width="44dp"
            android:layout_height="44dp"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_marginBottom="50dp"
            android:layout_marginRight="15dp"
            android:background="@drawable/btn_center_on_local_up" />

        <RelativeLayout
            android:id="@+id/top_bar"
            android:layout_width="match_parent"
            android:layout_height="70dp"
            android:background="#ddffffff" >

            <ImageButton
                android:id="@+id/btn_menu"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_alignParentBottom="true"
                android:layout_marginBottom="10dp"
                android:layout_marginRight="12dp"
                android:layout_toLeftOf="@+id/btn_search"
                android:background="@drawable/btn_menu_up" />


            <ImageButton
                android:id="@+id/btn_create"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_alignParentBottom="true"
                android:layout_marginBottom="10dp"
                android:layout_marginLeft="12dp"
                android:layout_toRightOf="@+id/btn_search"
                android:background="@drawable/btn_create_up" />

            <ImageButton
                android:id="@+id/btn_search"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:layout_marginBottom="10dp"
                android:background="@drawable/btn_search_up" />
        </RelativeLayout>

        <LinearLayout
            android:id="@+id/search"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#ddffffff"
            android:orientation="vertical" >

            <RelativeLayout
                android:id="@+id/search_bar"
                android:layout_width="match_parent"
                android:layout_height="70dp"
                android:background="#dd00cccb" >

                <ImageView
                    android:id="@+id/searchBox"
                    android:layout_width="238dp"
                    android:layout_height="44dp"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="20dp"
                    android:src="@drawable/search_field" />

                <ImageView
                    android:id="@+id/clear"
                    android:layout_width="25dp"
                    android:layout_height="25dp"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="220dp"
                    android:src="@drawable/btn_clear_field" />

                <EditText
                    android:id="@+id/searchField"
                    android:layout_width="160dp"
                    android:layout_height="44dp"
                    android:layout_alignParentLeft="true"
                    android:layout_centerVertical="true"
                    android:layout_marginLeft="60dp"
                    android:background="@null"
                    android:cursorVisible="true"
                    android:ems="10"
                    android:textColor="@color/white"
                    android:textColorHighlight ="@color/white"
                    android:textCursorDrawable="@null" >
                </EditText>

                <TextView
                    android:id="@+id/cancelBTN"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_centerVertical="true"
                    android:layout_marginRight="16dp"
                    android:textColor="@color/white"
                    android:textSize="22dp"
                    android:text="@string/cancel" />

            </RelativeLayout>

            <ScrollView
                android:id="@+id/search_results_container"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1"
                android:paddingTop="2dp"
                android:scrollbars="none" >

                <LinearLayout
                    android:id="@+id/search_results_content"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical" >

                    <RelativeLayout
                        android:id="@+id/header_artists"
                        android:layout_width="match_parent"
                        android:layout_height="50dp"
                        android:background="#dd00cccb" />

                    <HorizontalScrollView
                        android:id="@+id/results_artists"
                        android:layout_width="match_parent"
                        android:layout_height="150dp" />

                    <RelativeLayout
                        android:id="@+id/header_followers"
                        android:layout_width="match_parent"
                        android:layout_height="50dp"
                        android:background="#dd00cccb" />

                    <HorizontalScrollView
                        android:id="@+id/results_followers"
                        android:layout_width="match_parent"
                        android:layout_height="150dp" />

                    <RelativeLayout
                        android:id="@+id/header_places"
                        android:layout_width="match_parent"
                        android:layout_height="50dp"
                        android:background="#dd00cccb" />

                    <HorizontalScrollView
                        android:id="@+id/results_places"
                        android:layout_width="match_parent"
                        android:layout_height="150dp" />
                </LinearLayout>
            </ScrollView>
        </LinearLayout>
    </RelativeLayout>


    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="255dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="#dd00cccb"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp"
        android:listSelector="@drawable/selector_transparent" />

    <ListView
        android:id="@+id/right_drawer"
        android:layout_width="255dp"
        android:layout_height="match_parent"
        android:layout_gravity="end"
        android:background="#dd00cccb"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp"
        android:listSelector="@drawable/selector_transparent" />

</android.support.v4.widget.DrawerLayout>

回答1:

I was able to change the highlight of my edit text by adding this line to my themes.xml file:

<item name="android:textColorHighlight">@color/m_highlight_blue</item>


回答2:

Simple, just use TextHightLight Property in XML Mode

android:textColorHighlight="#ff0000"

[Image attached here is because for a comment below]

and when i do, this is how it looks



回答3:

And if you have to change the Marker handle then you should change

<item name="colorAccent">@color/edittext_handle_selection</item>
<item name="android:textColorHighlight">@color/edittext_selection</item>


回答4:

In code:

et.setHighlightColor(ContextCompat.getColor(getContext(), R.color.highlight));


回答5:

You should use android:textColorHighlight in the EditText element in you layout xml file



回答6:

In material design you will get the default ascent color in style so the all text selection and other theme would be according to that color. You can change this ascent color in following way -

Go to the style.xml and change the following color -

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorAccent">@color/colorAccent</item> // Replace this color with your own choice
    </style>


回答7:

you should use a selector to change text colors`:

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Pressed State -->
<item android:state_pressed="true"
    android:color="#FF0000" />
<!-- Focused State -->
<item android:state_focused="true"
    android:color="#FF0000" />
<!-- Default State -->
<item android:color="#FFFFFF" />

And then set your textColor property to @drawable/selector_name



回答8:

use this code,might be its help you

android:textColorHighlight="your color code"