Modo de acción cerrar el color del texto del botón

Veo para establecer el color de texto del modo de acción "hecho" / "cerrar" botón. Esto es lo que he intentado:

<item name="android:actionModeCloseButtonStyle">@style/ActionModeCloseButton</item> .... <style name="ActionModeCloseButton" parent="android:style/Widget.Holo.ActionButton.CloseMode"> <item name="android:textColor">@android:color/white</item> </style> 

Pero no tiene efecto.

Introduzca aquí la descripción de la imagen

Tenga en cuenta que en JB, es suficiente que haga que el estilo de ActionModeCloseButton sea ​​el tema holo regular. Funciona bien allí (sin la configuración textColor incluso).

¿Algunas ideas? Gracias.

En primer lugar, la vista de texto "Hecho" sólo es visible en dispositivos grandes. Realizar el action_mode_close_item.xml en la fuente de Android. Así que el android:actionModeCloseButtonStyle sólo se aplica a la vista que contiene y no la vista de la imagen y la vista de texto.

Afortunadamente, los ingenieros androideos usaron atributos accesibles públicamente para estilos de las vistas de los niños.

  • Use android:actionMenuTextColor para cambiar a textColor del TextView.
  • Utilice android:actionModeCloseDrawable para cambiar el drawable del ImageView

Ejemplo:

 <style name="MyTheme"> <item name="android:actionMenuTextColor">#ff000000</item> <item name="android:actionModeCloseDrawable">@drawable/my_close_drawable</item> </style> 

A continuación se muestra una copia del action_mode_close_item.xml en la action_mode_close_item.xml layout-large -folder donde puede ver cómo se construye el diseño.

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/action_mode_close_button" android:focusable="true" android:clickable="true" android:paddingStart="8dip" style="?android:attr/actionModeCloseButtonStyle" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginEnd="16dip"> <ImageView android:layout_width="48dip" android:layout_height="wrap_content" android:layout_gravity="center" android:scaleType="center" android:src="?android:attr/actionModeCloseDrawable" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginStart="4dip" android:layout_marginEnd="16dip" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="?android:attr/actionMenuTextColor" android:textSize="12sp" android:textAllCaps="true" android:text="@string/action_mode_done" /> </LinearLayout> 

Dado que el diseño del botón de cierre del modo de acción no proporciona un atributo de color para la vista de texto, no hay forma de establecer este color en un tema personalizado. En cambio, el único ay que encontré fue sobrescribir el color de texto en el método onPrepareActionMode() de mi clase ActionMode derivada:

 @Override public boolean onPrepareActionMode(ActionMode mode, Menu menu) { new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... none) { try { Thread.sleep(100); } catch (InterruptedException e) { } return null; } @Override protected void onPostExecute(Void none) { if (activity != null) { LinearLayout layout = (LinearLayout) activity .findViewById(R.id.abs__action_mode_close_button); if (layout == null) { int id = Resources.getSystem().getIdentifier( "action_mode_close_button", "id", "android"); layout = (LinearLayout) activity.findViewById(id); } if (layout != null && layout.getChildCount() > 1) { TextView label = (TextView) layout.getChildAt(1); if (label != null) label.setTextColor(Color.RED); } } } }.execute(); return false; } 

Trabajó con dos dispositivos pre y post Android 4.0.

  • Ocultar sólo la barra de acciones en las pestañas de la barra de acción de desplazamiento no
  • Cómo cambiar el color de fondo de la barra de acción sin aumentar min sdk?
  • Cómo ocultar la barra de acción para el fragmento?
  • Añadir barra de acción en ListActivity
  • Eventos de entrada de la barra de acción de Android
  • Android ICS: Eliminar el divisor azul en ActionBar?
  • Barra de acción de Android - quitar dinámicamente la barra de acción
  • Auto Collapse ActionBar SearchView en Soft Keyboard cerrar
  • ActionBarCompat - Acción de icono de aplicación (clic) no funciona en dispositivos 4.0
  • Altura de las lengüetas de ActionBar
  • Agregue progreso horizontal indeterminado a la barra de acción
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.