下划线TextView的

下划线TextView的

问题描述:

只是一个简单的问题: 你知道为什么我能做到这一点:下划线TextView的

pnrCode = (TextView)findViewById(R.id.pnr); 
     SpannableString pnrContent = new SpannableString("PNR: "); 
     pnrContent.setSpan(new UnderlineSpan(), 0, pnrContent.length(), 0); 
     pnrCode.setText(pnrContent + BookingSettings.getBookingSegment().substring(0, 6)); 

文本没有下划线。

然而,如果我只是做:

pnrCode = (TextView)findViewById(R.id.pnr); 
      SpannableString pnrContent = new SpannableString("PNR: "); 
      pnrContent.setSpan(new UnderlineSpan(), 0, pnrContent.length(), 0); 
      pnrCode.setText(pnrContent); 

的带下划线的文字。

我必须创建两个textview? 你知道另一种解决方案吗?

任何帮助表示赞赏;)

我要创建两个TextView的?

pnrContent + BookingSettings.getBookingSegment().substring(0, 6)大概是要给你一个String回来,因为我相信+运营商将双方转换为String对象,然后进行拼接。因此,你将失去你的格式。

而是使用new SpannableString("PNR: "+ BookingSettings.getBookingSegment().substring(0, 6));,并根据需要设置UnderlineSpan的长度。

+0

感谢您的回答! 但实际上,我只想强调“PNR:”!你的解决方案强调整个字符串,不是? – 2012-01-28 17:58:13

+2

要强调“PNR:”,您应该以这种方式仅为前4个字符设置范围:pnrContent.setSpan(new UnderlineSpan(),0,4,0); – lexmiir 2012-01-28 18:11:00

+0

谢谢lexmirr,谢谢CommonsWare! – 2012-01-28 18:16:20