Usar fuente personalizada en el atributo de estilo
Lo que quiero lograr es agregar atributo de style
a mi archivo axml
con la fuente personalizada cargada desde el Asset
.
Sé que puedo cargar incorporado fontface como este ( style.xml
):
- 2016-10-05 nivel de seguridad de nivel rompe Nexus-9 Xamarin
- Error al depurar aplicaciones Android con Xamarin
- Agregar controles de xamarin android a la caja de herramientas de Visual Studio
- MvvmCross Navegar a ViewModel en la notificación de Android haga clic
- Cómo preservar / volver a enlazar a los oyentes de eventos en MapFragment después de girar el dispositivo (retrato / paisaje)?
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="CodeFont" parent="@android:style/TextAppearance.Medium"> <item name="android:typeface">monospace</item> </style> </resources>
Y usarlo ( Main.axml
):
<TextView style="@style/CodeFont" local:MvxBind="Text Hello" />
Sé que puedo también crear MyCustomTextView
extiende TextView
y que fija la fuente por el método de SetTypeface
, pero quisiera utilizar la fuente de encargo en atributo del style
.
Así que algo como:
<resources> <style name="CodeFont" parent="@android:style/TextAppearance.Medium"> <item name="android:typeface">MyCustomFontLoadedFromAsset</item> </style> </resources>
¿Es posible (y cómo hacerlo)?
- Reproducir varias canciones con MediaPlayer al mismo tiempo: solo una está jugando
- C # en Android: Xamarin o Unidad?
- Xamarin.Droid causando errores de compilación en Visual Studio 2015 cuando se utiliza Xamarin.Forms
- Error de construcción de la arquitectura del procesador
- No se puede establecer la propiedad en un fragmento con varias instancias
- ¿Cómo se copia y se pega en el reproductor de Android de Xamarin?
- Xamarin - Error Fixing "La tarea Aapt falló inesperadamente"
- Referencias de nombre de clase de andamio de Xamarin
No hay manera de hacerlo directamente de la caja. Hay una biblioteca llamada Caligrafía que le permitirá hacerlo. Funcionará en API 7+
También he visto un truco usando la reflexión para anular serif / sans para que pueda definir los de su styles.xml
: ¿Es posible establecer una fuente personalizada para toda la aplicación? , Aunque yo recomendaría el primer enfoque.
public class MyApplication extends Application { private Typeface normalFont; private Typeface boldFont; ... /** * Fonts */ public void setTypeface(TextView textView) { if(textView != null) { if(textView.getTypeface() != null && textView.getTypeface().isBold()) { textView.setTypeface(getBoldFont()); } else { textView.setTypeface(getNormalFont()); } } } private Typeface getNormalFont() { if(normalFont == null) { normalFont = Typeface.createFromAsset(getAssets(),"fonts/my_font.ttf"); } return this.normalFont; } private Typeface getBoldFont() { if(boldFont == null) { boldFont = Typeface.createFromAsset(getAssets(),"fonts/my_font_bold.ttf"); } return this.boldFont; } }
String fontPath = "PT_Sans-Narrow-Web-Regular.ttf"; holder.desc = (TextView) row.findViewById(R.id.msgdesc); // Loading Font Face Typeface tf = Typeface.createFromAsset( row.getContext().getAssets(), fontPath); // Applying font holder.desc.setTypeface(tf);
info1 = (TextView) findViewById(R.id.textView1); Typeface font = Typeface.createFromAsset(this.getAssets(), "fonts/KeepCalm-Medium.ttf"); info1.setTypeface(font); info1.setTextColor(Color.parseColor("#FFFFFF"));
- Capturando el historial de navegación de los navegadores Android durante los últimos minutos
- ¿Cómo alinear el texto con sus elementos compuestos en TextView?