2011-03-09 107 views
2

我正在为我的应用程序定制按钮,并且想要设置它们在自定义按钮类(扩展按钮)中使用的字体。我可以设置从主类的字体用下面的代码:更改自定义按钮类中的按钮字体Android

Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Korean_Calligraphy.ttf"); 
custom_button.setTypeface(font); 

,工作正常,但我有多个按钮应用这也和整齐而简洁的代码起见,宁愿一切都被内部处理按钮类本身。所以有两个问题:

  • 如何从我的自定义按钮类中访问Button的TextView?
  • 如何引用字体文件,因为它似乎不让我在按钮类中使用getAssets()?

非常感谢。

回答

3

如何从我的自定义按钮

Button内访问Button TextView是被一个TextView所以你不需要在这里做什么特别的事情。只需使用常规文本视图就可以使用按钮。

如何引用字体文件,因为它似乎不让我在按钮类中使用getAssets()?

获取一个Context实例,并使用其getAssets()

Context context = getContext(); 
context.getAssets()... //do anything you need 
+0

简单哎?感谢您的帮助 - 非常棒:)另外一个问题。我在我的自定义按钮的onDraw方法中设置了BackgroundDrawables和字体,并且在我的自定义内容弹出之前,我会看到默认的艺术字体和字体。任何方式可以避免这种情况发生? – 2011-03-09 17:20:51

+1

@Emma Assin在onDraw()中做这件事听起来没有任何性能。你必须在你的视图的构造函数中只做一次。 – 2011-03-09 23:05:51

+0

谢谢,是的,我已经把它移到了构造函数中,但是仍然在我的艺术加载之前得到默认艺术的简短闪光。任何想法如何摆脱? – 2011-03-10 02:08:01