我需要知道当前默认Android字体的大小(以像素为单位)。我复制了一个非常相似的问题here中列出的方法。但是,我总是得到-1,而不是以像素为单位获得大小。我有什么想法吗?
以下是代码:
Context context = getActivity();
TypedValue typedValue = new TypedValue();
context.getTheme().resolveAttribute(android.R.attr.textAppearance, typedValue, true);
int[] textSizeAttr = new int[] { android.R.attr.textSize };
TypedArray a = context.obtainStyledAttributes((AttributeSet) typedValue.string, textSizeAttr);
textSize = a.getDimensionPixelSize(0, -1);
Log.e("Metrics", "text size in dp = " + String.valueOf(textSize));
a.recycle()
答案 0 :(得分:6)
获取textView的文本大小非常简单 这是代码
textView.getTextSize();
<强>返回强> 此TextView中默认文本大小的大小(以像素为单位)
答案 1 :(得分:1)
只需更改此行代码
即可TypedArray a = context.obtainStyledAttributes((AttributeSet) typedValue.string, textSizeAttr);
到
TypedArray a = context.obtainStyledAttributes(typedValue.data, textSizeAttr);