如何将ttf文件用于按钮的文本?
答案 0 :(得分:5)
这是否意味着您必须更改按钮的字体?
Context context = textView.getContext();
helvetica_normal = Typeface.createFromAsset(context.getAssets(),
"fonts/helvetica.ttf");
textView.setTypeface(helvetica_normal);
这是将文本视图的字体更改为android默认为helvetica的代码。 当Button扩展Text视图时,您可以直接使用此代码而无需任何修改,对于按钮,文本视图以及我也没有错误的旋转器。
注意:假设您已将字体的ttf文件复制到您的assests文件夹。
答案 1 :(得分:1)
在整个活动中应用它的一个方便简单的例程是在onCreate()中的setContentView()之后调用以下内容。在Adapter.getView()
中也很有用static Typeface typeface = null;
static void ApplyOurFont(Context context,ViewGroup vg)
{
if (typeface==null)
typeface = Typeface.createFromAsset(context.getAssets(),"ourfont.ttf");
int cnt = vg.getChildCount();
for (int i=0;i<cnt;++i)
{
View v = vg.getChildAt(i);
if (v instanceof TextView)
{
TextView tv = (TextView)v;
tv.setTypeface(typeface);
}
if (v instanceof ViewGroup)
{
ApplyOurFont(context,(ViewGroup)v);
}
}
}
答案 2 :(得分:0)
基于Prahams Post,我刚刚在课堂上使用了代码片段。我刚刚创建了两个完成所有工作的方法,所以你只需将每个元素传递给方法,它就会以特定的ttf-font创建。
我在班级
的开头创建了一个变量Typeface typeface;
然后你必须将实例化的元素传递给方法
setFont(anyElement);
这里有两种方法可以完成这项工作。在“setFont”内部将调用第二个方法“getFontFromAsset”,因此如果需要,可以在一个位置更改字体。
private void setFont(TextView element){
Context context = element.getContext();
element.setTypeface(getFontFromAsset(context));
}
private Typeface getFontFromAsset(Context context){
typeface = Typeface.createFromAsset(context.getAssets(), "beware.ttf");
return typeface;
}
或者使其更有用,将其提供给新类。比只有一个地方设置字体,你只需要在你的活动中初始化这个类,并通过FontClass方法传递元素。
这是我的FontClass
package xandru.cea;
import android.content.Context;
import android.graphics.Typeface;
import android.widget.TextView;
public class FontClass {
Typeface typeface;
public FontClass(){
return;
}
public void setFont(TextView element){
Context context = element.getContext();
element.setTypeface(getFontFromAsset(context));
}
private Typeface getFontFromAsset(Context context){
typeface = Typeface.createFromAsset(context.getAssets(), "beware.ttf");
return typeface;
}
}
比初始班:
FontClass fontClass = new FontClass();
并传递元素:
fontClass.setFont(anyElement);
答案 3 :(得分:0)
您可以在此处查看示例:http://androideity.com/wp-content/uploads/2011/08/fuentes14.png
只需将customFont更改为您的按钮。