您好我正在写一个Android应用程序。而且无论手机的版本如何,我都想要roboto字体。有办法吗?
谢谢, 希姆。
答案 0 :(得分:18)
是的,为什么不,你可以得到Roboto字体:
假设您要更改文本视图的字体:
Typeface tf = Typeface.createFromAsset(getAssets(),
"fonts/Roboto-Black.ttf");
TextView tv = (TextView) findViewById(R.id.FontTextView);
tv.setTypeface(tf);
答案 1 :(得分:1)
试试此链接http://www.barebonescoder.com/2010/05/android-development-using-custom-fonts/
将您要定位的控件的字体属性设置为serif ...对于我建议使用TTF的字体文件,它在过去对我有用
也可以试试这些链接
http://techdroid.kbeanie.com/2011/04/using-custom-fonts-on-android.html
答案 2 :(得分:1)
在XML中设置字体需要相当多的努力,但其优点是能够在XML布局编辑器的Eclipse ADT图形布局选项卡中预览字体。同样,首先在您的应用程序的assets文件夹中包含您的自定义字体.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);
}
}
}
现在要在XML Layouts中包含此自定义TypefacedTextView,只需在Android XML命名空间属性下添加XML命名空间属性:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:your_namespace="http://schemas.android.com/apk/res/com.example.app"
... />
使用你的TypefacedTextView就像使用XML中的普通TextView一样,但是使用你自己的自定义标签,记住要设置你的字体:
<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/
答案 3 :(得分:-2)
您可以在Android中应用允许您更改字体等的特定样式。请查看此链接到Android开发人员站点。 Styles and Themes