如何将文本大小设置为双倍

3

我正在尝试将TextView的文本大小设置为double变量。但是,Android Studio不支持double变量,只支持float变量。由于这个项目是为一家医疗公司制作的,字母的大小必须精确。

有什么办法可以让它正常工作吗?

谢谢!

编辑 我已经实施了下面的建议,但是文本没有显示在屏幕上。以下是代码:

public class Test extends AppCompatActivity {
String PREFS_NAME = "VALUES";
int DEF_VAL = 0;
double final_calc1;
double final_calc2;
double DIST_SCALE = 0;
double size = DIST_SCALE * 2;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    SharedPreferences DIST = getSharedPreferences(PREFS_NAME, 0);
    int f1 = DIST.getInt("value1", DEF_VAL);
    int f2 = DIST.getInt(value2", DEF_VAL);
    final_calc1 = f2 / 12;
    final_calc2 = final_calc1 + f1;
    DIST_SCALE = final_calc2 * .1875;
    //were everything is scaled based on the values ^^^
    //I am also positive that shared references is getting the required
    //values, I tested that part earlier
    setContentView(R.layout.standard_400);
    TextView letter = (TextView)findViewById(R.id.standard_400_line1);
    letter.setTextSize((float) size);


}
}

当我在模拟器中加载并运行它时,什么也没有出现,有什么想法可以解决这个问题吗? 再次感谢!


1
size = DIST_SCALE * 2DIST_SCALE = 0 => size = 0,这就是为什么你的文本没有显示出来。在更改 DIST_SCALE 值后,你需要重新计算 size - Rami
1个回答

1

你的double变量将用于设置文本大小,因此它将足够小以适应float中。

我建议你只需将你的double强制转换为float,例如:

double d = 24.64;
yourTextView.setTextSize( (float) d);

注意:

float

4字节,IEEE 754标准。

覆盖范围从1.40129846432481707e-45到3.40282346638528860e+38(正数或负数)。

double

8字节,IEEE 754标准。

覆盖范围从4.94065645841246544e-324d到1.79769313486231570e+308d(正数或负数)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接