Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


EditText cursor y color del puntero para debajo de android 5.0

Estoy intentando cambiar el color del puntero del cursor de EditText (del color primario azul al blanco), pero ninguna solución está trabajando para mi proyecto. He intentado desarrollar el proyecto del demo, donde el mismo código está trabajando muy bien. Este código funciona correctamente para> = android 5.0

No sé, qué atributo es anulado por mi valor. Tengo dos opciones para encontrar este problema: –
1. encontrar el atributo que está controlando ese valor de color.
2. cambia el valor del color por el código java cuando carga la página (en onViewCreated).

Sírvase sugerir cómo resolver este problema.

Styles.xml

<?xml version="1.0" encoding="utf-8"?> <resources> <style name="my_text_layout_style"> <item name="android:textColor">#FFF</item> <item name="android:textColorHint">#FFF</item> <item name="colorAccent">#FFF</item> <item name="colorControlNormal">#FFF</item> <item name="colorControlActivated">#FFF</item> <item name="colorControlHighlight">#FFF</item> </style> <style name="my_edit_text_style"> <item name="colorAccent">#FFF</item> <item name="android:editTextStyle">@style/MyEditTextStyle</item> </style> <style name="MyEditTextStyle" parent="Widget.AppCompat.EditText" /> </resources> 

Layout.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="@color/base_disable_btn_bg_color" android:orientation="vertical"> <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:hint="just a hint" app:hintTextAppearance="@style/my_text_layout_style" android:theme="@style/my_text_layout_style" android:layout_height="wrap_content"> <android.support.design.widget.TextInputEditText android:layout_width="match_parent" android:theme="@style/my_edit_text_style" android:layout_height="wrap_content" /> </android.support.design.widget.TextInputLayout> </LinearLayout> 

Intentado agregar la vista programmatically pero ningún éxito

 AppLinearLayout appLinearLayout = (AppLinearLayout) view.findViewById(R.id.some_id); EditText editText = new EditText(new ContextThemeWrapper(getContext(), R.style.AppTheme_Cursor)); ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); editText.setLayoutParams(params); appLinearLayout.addView(editText); 

captura de pantalla

  • Android TextInputLayout Cambiar contraseña no visible en la nueva biblioteca de soporte
  • 8 Solutions collect form web for “EditText cursor y color del puntero para debajo de android 5.0”

    Pruebe este enlace . Para mí, funcionó. Y, puede encontrar y modificar los elementos drawables de su SDK aquí: Android\sdk\platforms\YOUR_ANDROID_VERSION\data\res at drawables-*dpi .

    Usted puede copy and modify su color/form como su deseo.

    Pruebe esta solución:

    Utilice este atributo en EditText : android:textCursorDrawable="@drawable/cursor_color"

    En drawable , cree: cursor_color.xml

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <size android:width="1dp" /> <solid android:color="#c8c8c8" /> 

    Utilice este attribute en su EditText :

     android:textCursorDrawable="@null" 

    Usted puede crear su propio style/theme sólo para este EditText y cambiar el ColorAccent :

     <style name="EditTextColorCustom" parent="@style/AppBaseTheme"> <!-- Customize your theme here. --> <item name="colorAccent">@color/colorAccent</item> </style> 

    Utilice este mismo style con la carpeta values-21 .

    He usado esto y es trabajo conmigo correctamente.

     <style name="edittext" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorControlNormal">@color/gray</item> <item name="colorControlActivated">@color/colorAccent</item> <item name="colorControlHighlight">@color/colorAccent</item> <item name="android:textColor">@color/white</item> <item name="android:textColorHint">@color/gray</item> </style> <EditText android:id="@+id/email" android:layout_width="250dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="30dp" android:gravity="center" android:hint="@string/email_address" android:inputType="textEmailAddress" android:padding="@dimen/padding_16" android:textColor="@color/white" android:textColorHint="@color/login_color" android:textCursorDrawable="@color/mdtp_white" android:theme="@style/edit" /> 

    Hacer un nuevo drawable .

    Aquí, cursor.xml :

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <size android:width="2dp" /> <solid android:color="#EF5350"/> <stroke android:color="#EF5350"/> </shape> 

    Y utilizarlo en EditText como este:

      <EditText android:id="@+id/ed" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/roundedcornerwhite" android:hint="edit text" android:paddingBottom="10dp" android:paddingRight="10dp" android:paddingTop="10dp" android:maxLines="1" android:singleLine="true" android:imeOptions="actionNext" android:textColor="@color/colorPrimaryText" android:textColorHint="@color/hintcolor" android:textCursorDrawable="@drawable/cursor" android:textSize="16sp" /> 

    ACTUALIZADO:

    Acaba de hacer un nuevo tema como –

     <style name="themex" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimaryDark">#666666</item> <item name="android:listDivider">@color/white_pressed</item> <item name="colorPrimary">@color/colorIcons</item> <item name="android:textColor">#b6b6b6</item> <item name="android:windowDisablePreview">true</item> <item name="colorControlActivated">@color/olagreen</item> <item name="android:windowAnimationStyle">@null</item> </style> 

    Aquí colorcontrolactivated será la respuesta a tu pregunta. Y añada este tema a su actividad y elimine el estilo que le dio a edittext en ur layout-

     <activity android:name="youractivityname" android:parentActivityName="com.khaalijeb.inkdrops.Activities.AboutUs" android:screenOrientation="portrait" android:theme="@style/themex"/> 

    ACTUALIZAR:

    Si no funciona para entonces, solo comprueba si tu fragmento está dentro de la actividad y has dado el tema correcto a esa actividad. El fragmento también tendrá este tema. Si no funciona, entonces intente esto –

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mainlayout" style="@style/themex" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorIcons" android:orientation="vertical" android:weightSum="2"> </RelativeLayout> 

    Espero que esto ayude.

    He combinado pocas respuestas en SO y he encontrado la mejor manera de hacerlo:

    1. Busque el original dibujable en su carpeta android sdk (\ android-sdk \ plataformas \ android-23 \ android.jar \ res \ drawable-hdpi-v4) Introduzca aquí la descripción de la imagen

    2. Edite esas imágenes con un editor y póngalas en su carpeta dibujable.

    3. Añada las siguientes líneas a su estilo:

       <item name="android:textSelectHandle">@drawable/my_drawable_handle</item> <item name="android:textSelectHandleLeft">@drawable/my_drawable_handle_left</item> <item name="android:textSelectHandleRight">@drawable/my_drawable_handle_right</item> 

    El resultado:

    Introduzca aquí la descripción de la imagen

     <style name="my_edit_text_style"> <item name="colorAccent">#FFF</item> <item name="android:editTextStyle">@style/MyEditTextStyle</item> <item name="colorAccent">#FFF</item> <item name="colorControlNormal">#FFF</item> <item name="colorControlActivated">#FFF</item> </style> 

    Esto puede ayudarle.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.