我正在创建一个Custom TextView类MTextView。在构造函数内部,我想知道textview的样式属性的值,以便我可以根据样式是否设置为粗体来设置不同的字体。但是没有getStyle()函数?怎么办?
public class MTextView extends TextView{
public MTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
if(style.equals(TypeFace.bold)) //how to get style?
setTypeface(Typeface.createFromAsset(getContext().getAssets(),"rc.ttf"));
}
}
答案 0 :(得分:28)
您可以从TextView的getTypeface()
实例方法中获取textStyle。
int style = getTypeface().getStyle();
如果没有指定textStyle(即你想支持普通的textStyle),那么getTypeface()
可以返回null。
如果它不为null,最好假设textStyle被隐式设置为normal。