`
wang_peng1
  • 浏览: 3900808 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

字体背景颜色的高度修改

 
阅读更多

当使用android:lineSpacingExtra="5dp" 后面背景就会变大

public class BetterHighlightSpan extends ReplacementSpan {

    private int backgroundColor;
    public BetterHighlightSpan(int backgroundColor) {
        super();
        this.backgroundColor = backgroundColor;
    }

    @Override
    public int getSize(Paint paint, CharSequence text, int start, int end, FontMetricsInt fm) {
        return Math.round(paint.measureText(text, start, end));
    }

    @Override
    public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, int bottom,
            Paint paint) {

        // save current color
        int oldColor = paint.getColor();

        // calculate new bottom position considering the fontSpacing
        float fontSpacing = paint.getFontSpacing();
        float newBottom = bottom - fontSpacing;

        // change color and draw background highlight
        RectF rect = new RectF(x, top, x + paint.measureText(text, start, end), newBottom);
        paint.setColor(backgroundColor);
        canvas.drawRect(rect, paint);

        // revert color and draw text
        paint.setColor(oldColor);
        canvas.drawText(text, start, end, x, y, paint);
    }

}

TextView textView = (TextView) findViewById(R.id.textView);
SpannableStringBuilder builder = new SpannableStringBuilder("here some text and more of it");
builder.setSpan(new BetterHighlightSpan(Color.CYAN), 4, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(builder);

 

分享到:
评论
1 楼 hinuliba 2015-11-06  

相关推荐

    一个扩展的CListCtrl类支持修改背景颜色以及字体颜色

    1. 设置默认背景颜色,默认字体颜色,默认选中字体颜色,默认选中背景颜色(四种颜色) 2. 设置特定单元格的四种颜色,当插入删除行或列时,特定单元格的颜色不变。 3. 设置默认字体(所有单元格字体一致) 4. 绘制...

    mfc 中列表控件头的设置(背景颜色,字体大小等)

    mfc 中列表控件头的设置(背景颜色,字体大小等) 以前的是有内存泄露的. 这里的修改了一下.. 没有内存泄露

    listctrl 扩展类,字体颜色,行列背景色,整体行高度等都可以修改

    listctrl 扩展类,字体颜色,行列背景色,整体行高度等都可以修改

    MFC 控件CEdit, CComBobox, CMenu, CListCtrl, CTabCtrl.7z

    CMenu具备修改修改菜单背景,菜单宽度,高度,图标,文字,颜色等。CListCtrl具备修改标题栏宽度,背景,字体大小,颜色,列表背景(包含斑马线效果,借鉴他人成果),字体颜色,大小;CTabCtrl控件可在现代码基础上...

    常用VC控件大小及颜色修改

    一、改变视图背景色: 1 ...八、设置控件字体颜色:(例如STATIC控件) 3 九、修改单文档程序的标题: 4 十、自绘菜单宽度不对,高度是对的,解决办法: 4 十一、对话框由小到大显示的动画效果: 4 十二、位图按钮: 5

    懒人原生鼠标悬停图片文字动画效果

    由下往上滑动展示出来,背景颜色半透明,默认80%透明度,需要的懒人可以自己修改背景颜色以及透明度 原理: 利用jquery的animate动画效果,将遮罩显示的text部分相对定位在li的左侧以及底部,默认高度为0 ...

    C#实现改变DataGrid某一行和单元格颜色的方法

    如果要改变DataGrid某一行的颜色、高度,以及某个单元格的颜色、单元格字体的颜色,就必需取到datagrid的一行和一行的单元格,通过查找相关资料及测试总结出如下实例代码,现记录下来便于大家参考使用。 1、前台WPF...

    TextBox背景透明,黑色边框,字体垂直居中

    边框颜色可以修改,字体水平居中属性里面有,可以通过TextBox.AutoSize=false和TextBox.Height改变TextBox高度,简单,继承直接套用。

    AoeReader(txt阅读器)v2017.10.1官方安装免费版

    AoeReader是一款可以自定义高度的TXT阅读器,同时还可以任意修改背景字体以及各种颜色,Txt文档 你喜欢的图片,探索你自己的阅读,背景,颜色,字体,随你心情而变。完全自定义,AoeReader将文字和画作更好的结合在...

    可自定义的CListCtrlCL类

    可修改颜色的一个CListCtrlCl类 部分函数如下所示 public: 行高 int m nRowHeight; int InsertColumn int nCol LPCTSTR lpszColumnHeading int nFormat LVCFMT LEFT int nWidth 1 int nSubItem 1 ; public: ...

    Mini字幕滚动器企业版v2.1官方安装版

    Mini字幕滚动器企业版更适合在单位或店铺、酒店、学校使用实现更人性化的控制方案,简单、方便、实用,企业版可以随时在任何地方远程控制播放的字幕内容,本...显示框支持随时修改背景颜色。 5.显示框支持前端/普通/强

    richeditor-android:富文本编辑器

    文字背景颜色 文字字型大小 无序列表(子弹) 有序列表(数字) 编辑器的属性更改 字体大小 背景颜色 宽度 高度 占位符 载入CSS 状态回调 里程碑 字体系列 演示版 样品 如何使用? 设置 Gradle ...

    RichTextEditor

    文字背景颜色 文字字型大小 无序列表(子弹) 有序列表(数字) 编辑器的属性更改 字体大小 背景颜色 宽度 高度 占位符 载入CSS 状态回调 里程碑 字体系列 演示版 样品 如何使用? 设置 Gradle ...

    ElevenClock 可以完成 Windows 11 时钟无法完成的所有工作。

    自定义时钟外观:更改字体系列、字体大小、字体颜色、背景颜色和文本对齐方式 自定义时钟大小:更改时钟高度和宽度,并设置位置偏移 移动时钟:将时钟移动到顶部和/或左侧。 隐藏时钟:在特定显示器上显示或隐藏时钟...

    导航UI修改

    BackgroundBitmap = \SDMMC\app\PIC\background.bmp 显示桌面背景图片,可以修改成你想显示的图片名称及位置 StartUpAnimation = FlyUp Accelerated = yes TopMost = no #--------------------------------- DATE ...

    richeditor-android:用于Android的RichEditor是一款用于Android的漂亮的Rich Text所见即所得编辑器

    胆大 斜体 下标 上标 删除线 强调 左对齐 辩护中心 证明权利 块引用 标题1 标题2 标题3 标题4 标题5 标题6 撤消 重做 缩进 突出 插入图片 插入YouTube 插入视频 插入音频 插入连结 复选框 文字颜色 文字背景颜色 ...

    iOS中状态栏的基本使用方法汇总

    一、状态栏与导航栏 状态栏:显示时间、电池等信息 ...iOS状态栏可以设置显示和隐藏,也可以设置文字的颜色。通过修改info.plist中的View controller-based status bar appearance属性为NO或者YES,状态栏

    DataGridView 使用方法总结

    41. DataGridView设置单元格背景颜色 42. DataGridView行样式描画 43. DataGridView显示行号 44. DataGridView焦点所在单元格焦点框不显示的设定 45. DataGridView列中显示选择框CheckBox 46. DataGridView中显示...

    Scirocco DAO Data ActiveX控件

    可见性,标题,背景颜色,字体大小,宽度,高度,语言等等。 记录操作: 打开记录,关闭记录; 数据操作: 添加,删除,刷新,搜索,保存和撤消等等。 导航操作: 第一个,最后一个,上一个和下一个。 ...

    HTML开发王

    5.6 字体修改(font、basefont元素) 5.6.1 改变字体大小(size属性) 5.6.2 改变文本颜色(color属性) 5.6.3 改变字体(face属性) 5.7 加入水平分割线(hr元素) 5.7.1 分隔线宽度和高度(width属性、size属性) 5.7.2 分隔线...

Global site tag (gtag.js) - Google Analytics