如何在Android中通过编程增加文本大小?
如果满足特定条件,我想在运行时增加如何在Android中通过编程增加文本大小?,android,Android,如果满足特定条件,我想在运行时增加TextView的字体大小 我想用一种与密度无关的方式来做。我知道表达式应该是setTextSize(getTextSize()+3*因子)虽然我不知道如何计算出系数 谁能给我点启发吗?获取密度因子非常简单: float density = context.getResources().getDisplayMetrics().density; 当你调查 setTextSize(浮动大小) 您将看到这个方法 public void setTextSize(flo
TextView
的字体大小
我想用一种与密度无关的方式来做。我知道表达式应该是setTextSize(getTextSize()+3*因子)代码>虽然我不知道如何计算出系数
谁能给我点启发吗?获取密度因子非常简单:
float density = context.getResources().getDisplayMetrics().density;
当你调查
setTextSize(浮动大小)
您将看到这个方法
public void setTextSize(float size) {
setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
}
这意味着TextSize将根据当前密度和字体首选项进行调整
或者您可以设置自己的setTextSize,如下所示
值是原始像素
setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
值与设备无关
setTextSize(TypedValue.COMPLEX_UNIT_DIP, size);
值是缩放的像素
setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
价值以点为单位
setTextSize(TypedValue.COMPLEX_UNIT_PT, size);
值以英寸为单位
setTextSize(TypedValue.COMPLEX_UNIT_IN, size);
数值单位为毫米
setTextSize(TypedValue.COMPLEX_UNIT_MM, size);
所以你认为float density=context.getResources().getDisplayMetrics().density;setTextSize(getTextSize()+3*密度)
会起作用吗?100%肯定会谢谢你的回答,但问题是我不仅仅是设置文本大小。我增加它,然后getTextSize
返回文本大小(以像素为单位)。因此,我需要的东西,与屏幕密度工程。