当前位置:  开发笔记 > 编程语言 > 正文

Android:使用LeadingMarginSpan在textview中显示项目符号列表?

如何解决《Android:使用LeadingMarginSpan在textview中显示项目符号列表?》经验,为你挑选了1个好方法。



1> Jon..:

用代码示例回答:

CharSequence allText = "";
for (String aBulletpoint : bulletpoint) {
    String text = aBulletpoint.trim() + ".";
    SpannableString spannableString = new SpannableString(text + "\n");
    spannableString.setSpan(new LeadingMarginSpan() {
        @Override
        public int getLeadingMargin(boolean first) {
            return getString(R.string.bulletpoint).length() * 50;
        }
        @Override
        public void drawLeadingMargin(Canvas c, Paint p, int x, int dir, int top, int baseline, int bottom, CharSequence text, int start, int end, boolean first, Layout layout) {
            if (first) {
                Paint.Style orgStyle = p.getStyle();
                p.setStyle(Paint.Style.FILL);
                c.drawText(getString(R.string.bulletpoint) + " ", 0, bottom - p.descent(), p);
                p.setStyle(orgStyle);
            }
         }
    }, 0, text.length(), 0);
    allText = TextUtils.concat(allText, spannableString);
}
someTextView.setText(allText);

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有