【问题标题】:Underline Textview下划线文本视图
【发布时间】:2012-02-21 06:01:38
【问题描述】:

只是一个简单的问题: 你知道我为什么可以这样做吗:

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 吗? 你知道另一种解决方案吗?

任何帮助表示赞赏;)

【问题讨论】:

    标签: android textview underline


    【解决方案1】:

    我必须创建两个 textview 吗?

    没有。

    pnrContent + BookingSettings.getBookingSegment().substring(0, 6) 可能会给你一个String 回来,因为我相信+ 运算符会将双方转换为String 对象,然后执行连接。因此,您将丢失格式。

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

    【讨论】:

    • 感谢您的回答!但实际上,我只想在“PNR:”下划线!您的解决方案在整个字符串下划线,不是吗?
    • 要仅在“PNR:”下划线,您应该以这种方式仅为前 4 个字符设置跨度:pnrContent.setSpan(new UnderlineSpan(), 0, 4, 0);
    猜你喜欢
    • 1970-01-01
    • 2013-08-22
    • 2014-03-22
    • 2011-03-19
    • 2018-02-11
    • 2014-04-12
    • 2014-07-14
    • 2011-08-01
    • 1970-01-01
    相关资源
    最近更新 更多