TextView

省略号

android:singleLine="true"

android:maxEms="6"

android:ellipsize = "end"       //省略号在结尾
android:ellipsize = "start"     //省略号在开头
android:ellipsize = "middle"     //省略号在中间
android:ellipsize = "marquee"    //跑马灯

SpannableStringBuilder

        SpannableStringBuilder style = new SpannableStringBuilder();
        style.append("朝辞白帝彩云间,千里江陵一日还。");

        //一段文字可以设置多个多种Span
        ClickableSpan clickableSpan = new ClickableSpan() {
            @Override
            public void onClick(View widget) {
             //点击回调
            }

            @Override//更新绘图状态
            public void updateDrawState(TextPaint ds) {
                ds.setUnderlineText(false);//去掉下划线
            }
        };

        ClickableSpan clickableSpan2 = new ClickableSpan() {
            @Override
            public void onClick(View widget) {
                //点击回调
            }

            @Override
            public void updateDrawState(TextPaint ds) {
                ds.setUnderlineText(false);//去掉下划线
            }
        };
        //过使用setSpan(Object what, int start, int end, int flags)改变文本样式
        //设定点击的文字区域
        style.setSpan(clickableSpan, 起始位置, 结束位置, flags);
        style.setSpan(clickableSpan2,  起始位置, 结束位置, flags);
        text.setText(style);

        //设置部分文字颜色,如果你通过一个ForegroundColorSpan设置两个区域会展现出不同的颜色
        ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.parseColor("#0279FF"));
        style.setSpan(foregroundColorSpan,  起始位置, 结束位置, flags);
        ForegroundColorSpan foregroundColorSpan2 = new ForegroundColorSpan(Color.parseColor("#0279FF"));
        style.setSpan(foregroundColorSpan2,  起始位置, 结束位置, flags);

        //使用ClickableSpan设置点击事件,最后还需要加上 
        text.setMovementMethod(LinkMovementMethod.getInstance());
        text.setHighlightColor(Color.parseColor("#00ffffff"));//文字点击背景色高亮显示
        //配置给TextView
        text.setText(style);
         * what: 
         BackgroundColorSpan : 文本背景色
         ForegroundColorSpan : 文本颜色
         MaskFilterSpan : 修饰效果,如模糊(BlurMaskFilter)浮雕
         RasterizerSpan : 光栅效果
         StrikethroughSpan : 删除线
         SuggestionSpan : 相当于占位符
         UnderlineSpan : 下划线
         AbsoluteSizeSpan : 文本字体(绝对大小)
         DynamicDrawableSpan : 设置图片,基于文本基线或底部对齐。
         ImageSpan : 图片
         RelativeSizeSpan : 相对大小(文本字体)
         ScaleXSpan : 基于x轴缩放
         StyleSpan : 字体样式:粗体、斜体等
         SubscriptSpan : 下标(数学公式会用到)
         SuperscriptSpan : 上标(数学公式会用到)
         TextAppearanceSpan : 文本外貌(包括字体、大小、样式和颜色)
         TypefaceSpan : 文本字体
         URLSpan : 文本超链接
         ClickableSpan : 点击事件
         */

         * flags:
         Spannable. SPAN_INCLUSIVE_EXCLUSIVE:前面包括,后面不包括,即在文本前插入新的文本会应用该样式,而在文本后插入新文本不会应用该样式 
         Spannable. SPAN_INCLUSIVE_INCLUSIVE:前面包括,后面包括,即在文本前插入新的文本会应用该样式,而在文本后插入新文本也会应用该样式 
         Spannable. SPAN_EXCLUSIVE_EXCLUSIVE:前面不包括,后面不包括 
         Spannable. SPAN_EXCLUSIVE_INCLUSIVE:前面不包括,后面包括
         */
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容