import android.graphics.Canvas;import android.graphics.Paint;import android.text.Layout;import android.text.Spanned;import android.text.style.LeadingMarginSpan;import android.util.Log;public class ListItemSpan implements LeadingMarginSpan {  private final int mNumber;  private static final int BULLET_RADIUS = 3;  private static final int NUMBER_RADIUS = 10;  //Gap should be about 1em  public static final int STANDARD_GAP_WIDTH = 30;  public ListItemSpan() {      mNumber = -1;  }  public ListItemSpan(int number) {      mNumber = number;  }    public int getNumber() {    return this.mNumber;  }  public int getLeadingMargin(boolean first) {        if (!first) {      return 0;    }          if (mNumber != -1) {          return 2 * NUMBER_RADIUS + STANDARD_GAP_WIDTH;      } else {          return 2 * BULLET_RADIUS + STANDARD_GAP_WIDTH;      }  }  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 l) {          if (((Spanned) text).getSpanStart(this) == start) {          Paint.Style style = p.getStyle();          p.setStyle(Paint.Style.FILL);          if (mNumber != -1) {              c.drawText(mNumber + ".",                   x + dir,                   baseline, p);                        } else {              c.drawText("\u2022", x + dir, baseline, p);          }          p.setStyle(style);      }  }}


-- 源代码引用自 HtmlCleaner Android


======

最近在做Android上的富文本编辑器。

有朋友问到

Android 里面有内置的BulletSpan

那带有数字的 number list

应该怎么做呢?


其实如果不会自己写Span

耐心Google 一定能得到相关代码

我借花献佛

把Html Cleaner的代码贴在这里

供大家参考


更多相关文章

  1. android 新手学习笔记 点击事件
  2. android 新手学习笔记 点击事件
  3. Android(安卓)显示刷新频率的实现代码
  4. android ndk开发-环境搭建
  5. 【Android】简单图片浏览器
  6. android studio实现打电话
  7. 用Android代码实现自动打开USB调试
  8. Android的文本编解码工具类
  9. android典型代码系列(一)------android调试

随机推荐

  1. Android开发环境搭建-eclipse篇(真机测试
  2. Android(安卓)SDK 2.1的下载地址及其 Set
  3. Android7.0 &9.0在进行APP内部自动更新时
  4. Android(安卓)华为U8818真机调试 无法打
  5. Android(安卓)解决ListView里面多套布局
  6. 跟我学android-使用Eclipse开发第一个And
  7. Android(安卓)SharedPreferences的使用.
  8. 【尚观】Android游戏与应用开发最佳学习
  9. Android(安卓)ListView存在多个item样式
  10. libgdx 学习笔记一 开发环境搭建