web-dev-qa-db-fra.com

comment changer la couleur de surbrillance sur le champ editText

Vous trouverez ci-dessous une capture d'écran d'un champ de saisie personnalisé que j'ai dans mon application Android. Lorsque vous tapez un mot donné, le texte du mot que vous tapez actuellement est mis en surbrillance en gris et le texte en noir, jusqu'à ce que vous appuyiez sur la barre d'espace. Le texte devient alors blanc comme prévu. Est-il possible de changer la couleur de la surbrillance et du texte mis en surbrillance?

enter image description here

mon texte d'édition xml ressemble à ceci

 <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>

la mise en page entière

<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>
16
erik

J'ai pu modifier la surbrillance de mon texte d'édition en ajoutant cette ligne à mon fichier themes.xml:

<item name="Android:textColorHighlight">@color/m_highlight_blue</item>
16
l-l

Simple, il suffit d'utiliser la propriété TextHightLight en mode XML

Android:textColorHighlight="#ff0000"

[Image jointe ici est parce que pour un commentaire ci-dessous]

et quand je le fais, voici à quoi ça ressemble

enter image description here

8
Kirk

Et si vous devez changer la poignée du marqueur, vous devriez changer 

<item name="colorAccent">@color/edittext_handle_selection</item>
<item name="Android:textColorHighlight">@color/edittext_selection</item>
4
Abhijeet

Dans du code:

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

Vous devez utiliser Android:textColorHighlight dans l'élément EditText du fichier XML de mise en page.

1
Dreagen

Dans la conception des matériaux, vous obtiendrez la couleur de montée par défaut, de sorte que la sélection de tous les textes et les autres thèmes correspondent à cette couleur. Vous pouvez changer cette couleur d'ascension de la manière suivante - 

Allez dans le fichier style.xml et changez la couleur suivante - 

<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>
1
Mridul Shrivastava

vous devriez utiliser un sélecteur pour changer les couleurs du texte »:

<?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" />

Et définissez ensuite votre propriété textColor sur @ drawable/selector_name

0
rachit

utiliser ce code, pourrait être son aide vous

Android:textColorHighlight="your color code"
0
Pankaj Arora