2012-01-19 8 views

Respuesta

18

Sí, por qué no, puede obtener la fuente Roboto:

Android ICS typography

digamos que usted quiere cambiar la fuente de una vista de texto:

Typeface tf = Typeface.createFromAsset(getAssets(), 
      "fonts/Roboto-Black.ttf"); 
    TextView tv = (TextView) findViewById(R.id.FontTextView); 
    tv.setTypeface(tf); 
+6

¿Hay alguna manera de establecer esta propiedad tipográfica en el XML mismo? ¿O más simplemente, en el AndroidManifest.xml mismo, para usar en toda la aplicación? – Rahim

+1

No encontré ninguna manera de hacer esto tampoco, así que terminé con este http://stackoverflow.com/questions/9797872/use-roboto-font-for-earlier-devices/10563831#10563831 – Arnaud

-2

Puede aplicar estilos específicos en Android que le permiten cambiar la fuente, etc. Consulte este enlace al sitio de desarrolladores de Android. Styles and Themes

+0

¿Por qué este downvoted? – tier1

1

para establecer la fuente en XML es moderadamente más esfuerzo, pero tiene la ventaja de ser capaz de vista previa de la fuente en el interior ficha de presentación gráfica del Eclipse ADT del editor de diseño XML. Nuevamente, primero incluya su archivo .ttf de fuente personalizado en la carpeta de activos de su aplicación.

Crear una clase TextView personalizado:

public class TypefacedTextView extends TextView 
{ 
public TypefacedTextView(Context context, AttributeSet attrs) 
{ 
    super(context, attrs); 

    // Typeface.createFromAsset doesn't work in the layout editor. Skipping ... 
    if (isInEditMode()) 
    { 
    return; 
    } 

    TypedArray styledAttrs = context.obtainStyledAttributes(attrs, R.styleable.TypefacedTextView); 
    String fontName = styledAttrs.getString(R.styleable.TypefacedTextView_typeface); 
    styledAttrs.recycle(); 

    if (fontName != null) 
    { 
    Typeface typeface = Typeface.createFromAsset(context.getAssets(), fontName); 
    setTypeface(typeface); 
    } 
    } 
    } 

Ahora incluir este TypefacedTextView costumbre en sus diseños de XML sólo tiene que añadir el atributo de espacio de nombres XML debajo del androide atributo de espacio de nombres XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:your_namespace="http://schemas.android.com/apk/res/com.example.app" 
... /> 

y utilizar sus TypefacedTextView como lo haría con un TextView normal en XML pero con su propia etiqueta personalizada, recordando configurar su fuente:

<com.example.app.TypefacedTextView 
    android:id="@+id/list_item_entry_title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center_vertical" 
    android:minHeight="48dp" 
    android:textColor="#FF787878" 
    your_namespace:typeface="Roboto-Regular.ttf" /> 

Ver mi blog para más información: http://polwarthlimited.com/2013/05/android-typefaces-including-a-custom-font/

+0

404 en el enlace en la respuesta – harmanjd

Cuestiones relacionadas