Hiren Patel
Hiren Patel

Reputation: 52810

How to change EditText bubble color (under cursor) in android?

How to change the color of EditText bubble in android, I could do change the cursor drawable but I want change color of Bubble, please share idea on it.

Reference screenshot:

enter image description here

Any help would be appreciated.

Upvotes: 34

Views: 13436

Answers (6)

In my case I was able to change the color by changing the value of android:colorControlActivated in my themes file:

<item name="android:colorControlActivated">?attr/colorAccent</item>

Upvotes: 1

Dmitriy Lesovoy
Dmitriy Lesovoy

Reputation: 71

You should change "colorAccent" and in order not to change this parameter for the whole application you can use ThemeOverlay. You can read more detailed in this article, the last theme "Cursor and Selection"

Upvotes: 0

Viral Patel
Viral Patel

Reputation: 33438

Change the color in your res/values/styles.xml. The bubble uses colorAccent:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!-- Other theme overrides here -->
    <item name="colorAccent">@color/Gray2</item>
</style>

In the above <item name="colorAccent">@color/Gray2</item> is the line where you put the color you want for your bubble.

Upvotes: 24

Ankush Chugh
Ankush Chugh

Reputation: 164

You need to change your theme colorControlActivated color.

source: the default implementation of text_select_handle in Android Source code.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2014 The Android Open Source Project

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/text_select_handle_middle_mtrl_alpha"
android:tint="?attr/colorControlActivated" />

Upvotes: 3

saulmm
saulmm

Reputation: 2438

You can change all your EditText bubbles and bar colors setting the accent color in your AppTheme.

<style name="AppTheme" parent="Base.Theme.AppCompat.Light">
    <item name="colorPrimary">@color/indigo</item>
    <item name="colorAccent">@color/pink</item>
</style>

Or you could just change one single EditText with the android:theme attribute of your component.

<style name="MyEditText" parent="Theme.AppCompat.Light">  
   <item name="colorControlNormal">@color/indigo</item>
   <item name="colorControlActivated">@color/pink</item>
</style>  

<EditText  
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Hint text"
    android:theme="@style/MyEditText"
    />

Upvotes: 35

ʍѳђઽ૯ท
ʍѳђઽ૯ท

Reputation: 16976

http://developer.android.com/training/material/theme.html#ColorPalette

<resources>
  <!-- inherit from the material theme -->
  <style name="AppTheme" parent="android:Theme.Material">
    <!-- Main theme colors -->
    <!--   your app branding color for the app bar -->
    <item name="android:colorPrimary">@color/primary</item>
    <!--   darker variant for the status bar and contextual app bars -->
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <!--   theme UI controls like checkboxes and text fields -->
    <item name="android:colorAccent">@color/accent</item>
  </style>
</resources>

And check this: theme UI controls like checkboxes and text fields

<!--   theme UI controls like checkboxes and text fields -->
        <item name="android:colorAccent">@color/accent</item>

Was it so hard to find? :)

Upvotes: 3

Related Questions