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?
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>
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>
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
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>
Dans du code:
et.setHighlightColor(ContextCompat.getColor(getContext(), R.color.highlight));
Vous devez utiliser Android:textColorHighlight
dans l'élément EditText du fichier XML de mise en page.
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>
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
utiliser ce code, pourrait être son aide vous
Android:textColorHighlight="your color code"