目前,我正在尝试开发一个应用程序。我不知道如何更改Toast字体。。
final OnClickListener clickListener = new OnClickListener() {
public void onClick(View v) {
try {
Toast.makeText(nova.this,"Hello", 500000).show();
}
catch (Exception e) {
Toast.makeText(nova.this,"Exception:" +e, 500000);
}
}
};我想用我在TypeFace中尝试过的自定义字体来更改文本"Hello“。
然后,我想在"TextClicked“处设置一个变量。我试过使用局部变量..但它不起作用
任何关于示例源代码的帮助对我来说都是非常棒的。
发布于 2010-05-31 06:01:53
来自官方文档:
Create your custom ToastView
如果一条简单的文本消息还不够,您可以为您的吐司通知创建自定义布局。若要创建自定义布局,请在可扩展标记语言或应用程序代码中定义视图布局,并将根视图对象传递给
setView(View)方法。
点击指向Google官方文档的链接将提供示例。
发布于 2014-05-14 00:43:31
您可以使用SpannableString设置字体:
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/ATaha.ttf");
SpannableString efr = new SpannableString("Toast font changed!");
efr.setSpan(new TypefaceSpan(font), 0, efr.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Toast.makeText(this, efr, Toast.LENGTH_SHORT).show();具有特定字体集的自定义Span类:
public class TypefaceSpan extends MetricAffectingSpan {
private Typeface mTypeface;
public TypefaceSpan(Typeface typeface) {
mTypeface = typeface;
}
@Override
public void updateMeasureState(TextPaint p) {
p.setTypeface(mTypeface);
p.setFlags(p.getFlags() | Paint.SUBPIXEL_TEXT_FLAG);
}
@Override
public void updateDrawState(TextPaint tp) {
tp.setTypeface(mTypeface);
tp.setFlags(tp.getFlags() | Paint.SUBPIXEL_TEXT_FLAG);
}
}发布于 2013-02-21 04:07:23
不幸的是,Java页面上的代码有page。这里有一个你可以实现的工作函数的链接,它给你提供文本(我知道,因为我测试过它),并且稍加巧妙地扩展,可以传递大小、颜色等参数……
Toast字体大小函数here
https://stackoverflow.com/questions/2940465
复制相似问题