我想要一个名为MyTextView的自定义TextView,我想在它的构造函数中设置一个默认的TextSize,前提是它的XML定义中没有设置TextSize。如何检测是否已在其XML定义中设置了TextSize?
public class MyTextView extends TextView{
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
//How can i read TextSize from AttribureSet??
//if no TextSize has been set then SetTextSize(defaultTextSize);
}
}
任何人都可以帮助我吗?
答案 0 :(得分:1)
您可以获取
等样式属性public class MyTextView extends TextView{
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
String size = attrs.getAttributeValue("http://schemas.android.com/apk/res/android", "textSize");
}
}
答案 1 :(得分:0)
这里的例子:
final Resources.Theme theme = context.getTheme();
TypedArray array = theme.obtainStyledAttributes(attrs, R.styleable.YourStylable, R.attr.YourDefStyleAttr, 0);
答案 2 :(得分:0)
试试这个float size = new TextView(this).getTextSize();