我有一个textView,我想用textView的普通字体大小显示0.0,然后用较小的文本大小显示stringResult()。
如果我加上“0.0”+它就不起作用了。为什么?

public String StringResult(){
String displayLbl = this.getResources().getString(R.string.displayLbl);
TextView myUnitLbl = (TextView)findViewById(R.id.lbl_unit_res);
String myFinalLbl = displayLbl + " " + myUnitLbl.getText() + " ";
return myFinalLbl;
}


public void cmd_rst(View v){
TextView lblText = (TextView) findViewById(R.id.lblresult);
lblText.setText("0.0" + Html.fromHtml("<small>" + StringResult() + "</small>"));
}

最佳答案

这是因为当您试图将Spanned与“0.0”连接时,从Html.fromHtml返回的fromHtml被用作普通字符串(从而丢失任何格式)。为了让这个工作顺利进行,请将所有内容传递到:

Html.fromHtml("0.0<small>" + StringResult() + "</small>")

同样的原则也适用于更复杂的情况:
lblResult.setText(Html.fromHtml(String.format("%.1f", myCalc) + " " + "<br>" +
    "<small>" + StringResult() + "</small>"));

关于android - Html.fromHtml不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20131256/

10-09 22:56