2012-01-19 3 views

ответ

18

Да, почему нет, вы можете получить шрифт Roboto:

Android ICS typography

Допустим, вы хотите изменить шрифт в текстовом виде:

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

Есть ли способ установить это свойство шрифта в самом XML? Или, проще говоря, в самом AndroidManifest.xml для использования во всем приложении? – Rahim

+1

Я тоже не нашел никакого способа сделать это, поэтому я закончил с этим http://stackoverflow.com/questions/9797872/use-roboto-font-for-earlier-devices/10563831#10563831 – Arnaud

-2

Вы можете применить специальные стили в android, которые позволят вам изменить шрифт и т. Д. Проверьте эту ссылку на сайт разработчика Android. Styles and Themes

+0

Почему это было приостановлено? – tier1

1

Попробуйте эту ссылку http://www.barebonescoder.com/2010/05/android-development-using-custom-fonts/

Установите гарнитуру свойство управления вы ориентируетесь на засечки ... и для файла шрифта я рекомендую использовать TTF, он работал для меня в прошлом

Также попробуйте эти ссылки

http://techdroid.kbeanie.com/2011/04/using-custom-fonts-on-android.html

Android - Using Custom Font

1

чтобы установить шрифт в XML умеренно больше усилий, но имеет то преимущество, что возможность просмотреть шрифт внутри графического макета вкладки затмения АТД редактора макета XML. Опять же, сначала включите свой собственный .ttf файл шрифта в папку ресурсов вашего приложения.

Создание пользовательского класса TextView:

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); 
    } 
    } 
    } 

Теперь, чтобы включить этот обычай TypefacedTextView в ваших XML макетах просто добавить атрибут пространства имен XML ниже атрибута Android XML пространства имен:

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

и использовать свои TypefacedTextView, как и обычный TextView в XML, но с вашим собственным тегом, не забывая указать свой шрифт:

<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" /> 

Смотрите мою статью в блоге: Дополнительная информация: http://polwarthlimited.com/2013/05/android-typefaces-including-a-custom-font/

+0

404 на ссылка в ответе – harmanjd

Смежные вопросы