Cómo utilizar el icono de fuente (fuente-impresionante) en el selector de XML

¿Es posible utilizar el icono de fuente en el selector en lugar de dibujable?

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/menu_home_press" android:state_pressed="true"></item> <item android:drawable="@drawable/menu_home"></item> </selector> 

Cambié el color del texto en selector en vez de dibujable. Su funcionamiento muy bien.

Crear una clase MyTextView que extienda TextView

 public class MyTextView extends TextView { public MyTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(context); } public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public MyTextView(Context context) { super(context); init(context); } private void init(Context context) { Typeface tf = Typeface.createFromAsset(context.getAssets(), "fontawesome-webfont.ttf"); setTypeface(tf); } } 

Crear selector text_color_selector.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="#ff0000" android:state_pressed="true" /> <!-- pressed --> <item android:color="#ff0000" android:state_focused="true" /> <!-- focused --> <item android:color="#000000" /> <!-- default --> </selector> 

Y luego usarlo en su diseño

  <com.example.mohsin.myapplication.MyTextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="50sp" android:clickable="true" android:textColor="@drawable/text_color_selector" android:text="\uF242"> </com.example.mohsin.myapplication.MyTextView> 

Puede utilizar los iconos font-awesome de la siguiente manera:

1 – Copia el archivo de fuentes font-awesome en tu directorio de activos

2 – Encontrado las entidades de caracteres para los iconos que quería, utilizando esta página

3 – Crear entrada en strings.xml para cada icono. P.ej:

 <string name="icon_eg">&#xf13d;</string> 

4 – Cargar la fuente en el método onCreate y establecerla para las Vistas apropiadas:

 Typeface font = Typeface.createFromAsset( getAssets(), "fontawesome-webfont.ttf" ); ... Button button = (Button)findViewById( R.id.like ); button.setTypeface(font); 

No olvide hacer referencia a la cadena en la vista.

 <Button android:id="@+id/my_btn" style="?android:attr/buttonStyleSmall" ... android:text="@string/icon_eg" /> 

Compruebe este acoplamiento para más Info.

No puede utilizarlo como selector. Pero puede cambiar dinámicamente los iconos.

  • Las sugerencias de auto de EditText están en blanco o no existen
  • Cómo inflar RelativeLayout de XML
  • ¿Puede un ToggleButton cambiar la funcionalidad de otros botones en la misma Actividad?
  • Barra de herramientas que se superpone debajo de la barra de estado
  • ¿Cómo lleno un ListView (en Android) con datos XML o JSON?
  • Cómo crear un menú mediante programación en Android?
  • ¿Cajón de la navegación sobre la barra de estado en turrón?
  • ¿Importar Java Project en la aplicación Android?
  • IU de la tarjeta Google Now para listview
  • No se puede arrastrar DrawerLayout desde ListView
  • Escribiendo algunos caracteres como '<' en un archivo xml
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.