精华内容
下载资源
问答
  • RichText

    2020-01-20 15:04:35
    RichText 参考: RichText TextSpan RichText表示的是富文本,使用不同的样式来显示文本,使用TextSpan对象来描述要显示的文本 Text displayed in a RichText widget must be explicitly styled. When picking ...

    RichText

    参考:

    RichText表示的是富文本,使用不同的样式来显示文本,使用TextSpan对象来描述要显示的文本

    Text displayed in a RichText widget must be explicitly styled. When picking which style to use, consider using DefaultTextStyle.of the current BuildContext to provide defaults. For more details on how to style text in a RichText widget, see the documentation for TextStyle.
    RichText中的text需要显式指定样式。可考虑使用 BuildContextDefaultTextStyle来提供默认样式

    TextSpan构造方法

    TextSpan({String text List<InlineSpan> children, TextStyle style, GestureRecognizer recognizer, String semanticsLabel })
    

    如下的例子:

    class ContainerWithBoxDecorationWidget extends StatelessWidget {
    
      const ContainerWithBoxDecorationWidget({Key key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return Column(
          children: <Widget>[
            Container(
              height: 100.0,
              decoration: BoxDecoration(
                borderRadius: BorderRadius.only(
                  bottomLeft: Radius.circular(100.0),
                  bottomRight: Radius.circular(10.0),
                ),
                gradient: LinearGradient(
                  begin: Alignment.topCenter,
                  end: Alignment.bottomCenter,
                  colors: [
                    Colors.white,
                    Colors.lightGreen.shade500,
                  ],
                ),
                boxShadow: [
                  BoxShadow(
                    color: Colors.grey,
                    blurRadius: 10.0,
                    offset: Offset(0.0, 10.0),
                  )
                ],
              ),
              child: Center(
                child: RichText(
                  text: TextSpan(
                    text: 'Flutter World',
                    style: TextStyle(
                      fontSize: 24.0,
                      color: Colors.deepPurple,
                      decoration: TextDecoration.underline,
                      decorationColor: Colors.deepPurpleAccent,
                      decorationStyle: TextDecorationStyle.dotted,
                      fontStyle: FontStyle.italic,
                      fontWeight: FontWeight.normal,
                    ),
                    children: [
                      TextSpan(
                        text: ' for',
                      ),
                      TextSpan(
                        text: ' Mobile',
                        style: TextStyle(
                          color: Colors.deepOrange,
                          fontWeight: FontWeight.bold,
                          fontStyle: FontStyle.normal
                        )
                      ),
                    ]
                  ),
                ),
              ),
            ),
          ],
        );
      }
    }
    

    效果如下:

    richtext

    展开全文
  • RichText 注意:此项目已不再维护 Android平台下的富文本解析器 流式操作 低侵入性 依赖少,只依赖了disklrucache和support v4 支持Html和Markdown格式文本 支持图片点击和长按事件 链接点击事件和长按事件 ...
  • Richtext editor

    2021-01-12 12:09:30
    <p>It is <a href="https://docs.ponzu-cms.org/Form-Fields/HTML-Inputs/#editorrichtext">mentioned</a> that the modified editor <em>Summernote</em> is used for the <code>editor.Richtext</code> field....
  • Weex Richtext组件,适用于android / iOS 概括 Richtext用于实现内联或与内联块组合。它还支持嵌套的<span> , 和具有样式继承和覆盖。 因此,可以将Richtext视为具有更强大用法的更通用的<text> 。 通常,它可以用...
  • RichText组件

    2019-10-24 20:15:40
    1.RichText 组件用来显示一段带有不同样式效果的文字。 2.可以通过一些简单的 BBCode 标签来设置文字的样式。 3.目前支持的样式有:颜色(color)、字体大小(size)、字体描边(outline)、加粗(b)、斜体(i)、...

    1.RichText 组件用来显示一段带有不同样式效果的文字。
    2.可以通过一些简单的 BBCode 标签来设置文字的样式。
    3.目前支持的样式有:颜色(color)、字体大小(size)、字体描边(outline)、加粗(b)、斜体(i)、下划线(u)、换行(br)、图片(img)和点击事件(on)。
    4.点击 属性检查器 下面的 添加组件 按钮,然后从 渲染组件 中选择 RichText,即可添加 RichText 组件到节点上。
    5.RichText 属性如下
    在这里插入图片描述
    注意:如果在自定义组件中使用 rich-text 组件,那么仅自定义组件的 wxss 样式对 rich-text 中的 class 生效。
    6.学习代码如下:
    在这里插入图片描述
    在这里插入图片描述
    7.效果如下:
    在这里插入图片描述

    展开全文
  • Android代码-RichText

    2019-08-08 02:15:44
    RichText > Android平台下的富文本解析器 流式操作 低侵入性 支持Html和Markdown格式文本 支持图片点击和长按事件 链接点击事件和长按事件 支持设置加载中和加载错误时的图片 支持自定义超链接的点击回调 支持修正...
  • 用于本地响应的Richtext编辑器 安装 使用npm安装: npm i react-native-cn-richtext-editor 使用纱安装: yarn add react-native-cn-richtext-editor 发行前 请CNEditor我们的新CNEditor编辑器,该版本是在预发布...
  • IMY_RichText-源码

    2021-06-12 01:50:00
    IMY_RichText
  • Richtext style error

    2020-12-08 19:33:53
    <p><a href="https://github.com/pnp/sp-dev-fx-controls-react/files/4981943/Richtext.bug.zip">Richtext bug.zip</a></p> <p>Code: let value: string = ""; export default class HelloWorld ...
  • MultiTV + Richtext problem

    2020-12-01 14:00:37
    I added a <code>console.log</code> in the file <code>multitv.js</code> at the function <code>saveMultiValue</code> and everytime I wrote something in a richtext field that was not the last, the values...
  • RichText文本框语法高亮显示,自定义显示格式等内容信息
  • Focus the right RichText

    2020-12-08 22:27:11
    2. Resolve the race condition where <code>RichText</code>s in blocks with multiple RichText components would compete in getting the focus. On the web, the equivalent to our BlockHolder actively tries ...
  • RichText-master.zip

    2016-09-28 18:17:44
    RichText-master.zip
  • Android richtext

    2015-07-28 21:06:00
    在项目开发过程中经常会遇到很多需要显示不同样式的,不同风格的文本信息;对此可以使用多个TextView...推荐使用以下的方式,可以实现RichText同时可以避免过多的使用TextView; 1.SpannableString SpannableStrin...

    在项目开发过程中经常会遇到很多需要显示不同样式的,不同风格的文本信息;对此可以使用多个TextView来分别设置自已想要的样式以满足需求,但是使用多个TextView的方式不太好:使用多个TextView布局会很困难,同时也会造成冗余,资源浪费。推荐使用以下的方式,可以实现RichText同时可以避免过多的使用TextView;

    1.SpannableString

    SpannableString相关组件可以实现RichText ,也即可以在同一个TextView中对文本设置成不同的样式;对于某些应用,记事本,彩信,短信等必须要使用些组件才能达到相应的效果,SpannableString相关组件都被封装在android.text.*和android.text.style.*包中。主要组成类有:android.text.Spanned,android.text.SpannableString,android.text.SpannableStringBuilder,使用这些来替代常规的String。使用这些组件可以设置不同的span,这些span可以用于实现RichText,比如粗体,斜体,前景色,背景色,字体大小,字体样式,插入图片等等,相关API结构图如下所示:

    一般可以通过SpannableString或SpannableStringBuilder创建Spannable对象,如下所示:

    //SpannableString方式
    SpannableString word = new SpannableString("Spannable test"); 
    
    //SpannableStringBuilder方式
    SpannableStringBuilder multiWord = new SpannableStringBuilder();  
    multiWord.append("Spannable");  
    multiWord.append("test");  

    创建了Spannable对象,可以给它设置对应的span来实现想要的RichText的效果,设置span方法如下:

    setSpan(Object what, int start, int end, int flags);  

     

    SpannableStringSpannableStringBuilder都是通过这个方法来设置span,参数如下:

    what:要设置的Style Span

    start:标识String中span的起始位置

    end:标识String中span的结束位置

    flags:控制span生效的位置

       Spanned.SPAN_EXCLUSIVE_EXCLUSIVE:不包含两端start和end所在的端点

       Spanned.SPAN_EXCLUSIVE_INCLUSIVE:不包含start但包含end所在的端点

       Spanned.SPAN_INCLUSIVE_EXCLUSIVE:包含start但不包含end所在的端点

       Spanned.SPAN_INCLUSIVE_INCLUSIVE:包含两端start和end所在的端点

    这里理解起来就好像数学中定义区间,开区间还是闭区间一样的。还有许多其他的Flag,可以参考这里。这里要重点说明下关于参数0,有很多时候,如果设置了上述的参数,那么Span会从start应用到Text结尾,而不是在start和end二者之间,这个时候就需要使用Flag 0。

    常用的Span有以下一些:

         AbsoluteSizeSpan(intsize) ---- 设置字体大小,参数是绝对数值,相当于Word中的字体大小

         RelativeSizeSpan(floatproportion) ---- 设置字体大小,参数是相对于默认字体大小的倍数,比如默认字体大小是x, 那么设置后的字体大小就是x*proportion,这个用起来比较灵活,proportion>1就是放大(zoom in), proportion<1就是缩小(zoom out)

         ScaleXSpan(floatproportion) ---- 缩放字体,与上面的类似,默认为1,设置后就是原来的乘以proportion,大于1时放大(zoonin),小于时缩小(zoom out)

         BackgroundColorSpan(intcolor) ----背景着色,参数是颜色数值,可以直接使用android.graphics.Color里面定义的常量,或是用Color.rgb(int, int, int)

         ForegroundColorSpan(intcolor) ----前景着色,也就是字的着色,参数与背景着色一致

         TypefaceSpan(Stringfamily) ----字体,参数是字体的名字比如“sans", "sans-serif"等

         StyleSpan(Typefacestyle) -----字体风格,比如粗体,斜体,参数是android.graphics.Typeface里面定义的常量,如Typeface.BOLD,Typeface.ITALIC等等。

         StrikethroughSpan----如果设置了此风格,会有一条线从中间穿过所有的字,就像被划掉一样

    另外,也可以对通过TextView.setAutoLink(int)设置其Linkify属性,其用处在于,TextView会自动检查其内容,会识别出phone number, web address or email address,并标识为超链接,可点击,点击后便跳转到相应的应用,如Dialer,Browser或Email。Linkify有几个常用选项,更多的请参考文档:

    Linkify.EMAIL_ADDRESS-- 仅识别出TextView中的Email在址,标识为超链接,点击后会跳到Email,发送邮件给此地址

    Linkify.PHONE_NUMBERS-- 仅识别出TextView中的电话号码,标识为超链接,点击后会跳到Dialer,Call这个号码

    Linkify.WEB_URLS--仅识别出TextView中的网址,标识为超链接,点击后会跳到Browser打开此URL

    Linkify.ALL -- 这个选项是识别出所有系统所支持的特殊Uri,然后做相应的操作

     

    权衡选择个人认为软件开发中最常见的问题不是某个技巧怎么使用的问题,而是何时该使用何技巧的问题,因为实现同一个目标可能有N种不同的方法,就要权衡利弊,选择最合适的一个,正如常言所云,没有最好的,只有最适合的。如前面所讨论的,要想用不同的字体展现不同的信息可能的解法,除了用Style Span外还可以用多个TextView。那么就需要总结下什么时候该使用StyleSpan,什么时候该使用多个TextView:

        如果显示的是多个不同类别的信息,就应该使用多个TextView,这样也方便控制和改变各自的信息,例子就是默认LockScreen上面的日期和充电信息,因为它们所承载不同的信息,所以应该使用多个TextView来分别呈现。

        如果显示的是同一类信息,或者同一个信息,那么应该使用StyleSpan。比如,短信息中,要把联系人的相关信息突出显示;或是想要Highlight某些信息等。

        如果要实现Rich text,没办法,只能使用Style span。

        如果要实现某些特效,也可以考虑使用StyleSpan。设置不同的字体风格只是Style span的初级应用,如果深入研究,可以发现很多奇妙的功效。

    示例:

    1.ForegroundColorSpan 文本颜色

    private void setForegroundColorSpan() {  
        SpannableString spanString = new SpannableString("前景色");  
        ForegroundColorSpan span = new ForegroundColorSpan(Color.BLUE);  
        spanString.setSpan(span, 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
        tv.append(spanString);  
    }  

    2.BackgroundColorSpan 文本背景色

    private void setBackgroundColorSpan() {  
        SpannableString spanString = new SpannableString("背景色");  
        BackgroundColorSpan span = new BackgroundColorSpan(Color.YELLOW);  
        spanString.setSpan(span, 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
        tv.append(spanString);  
    } 

    3.StyleSpan 字体样式:粗体,斜体等

    private void setStyleSpan() {  
        SpannableString spanString = new SpannableString("粗体斜体");  
        StyleSpan span = new StyleSpan(Typeface.BOLD_ITALIC);  
        spanString.setSpan(span, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
        tv.append(spanString);  
    }  

    4.RelativeSizeSpan 相对大小

    private void setRelativeFontSpan() {
        SpannableString spanString = new SpannableString("字体相对大小");
        spanString.setSpan(new RelativeSizeSpan(2.5f), 0, 6,Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
        tv.append(spanString);    
    }

    5.TypefaceSpan 文本字体

    private void setTypefaceSpan() {
        SpannableString spanString = new SpannableString("文本字体");
        spanString.setSpan(new TypefaceSpan("monospace"), 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        tv.append(spanText);
    }

    6.URLSpan 文本超链接

    private void addUrlSpan() {  
        SpannableString spanString = new SpannableString("超链接");  
        URLSpan span = new URLSpan("http://www.baidu.com");  
        spanString.setSpan(span, 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
        tv.append(spanString);  
    }  

    7.ImageSpan 图片

    private void addImageSpan() {  
        SpannableString spanString = new SpannableString(" ");  
        Drawable d = getResources().getDrawable(R.drawable.ic_launcher);  
        d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());  
        ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);  
        spanString.setSpan(span, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
        tv.append(spanString);  
    } 

    8.ClickableSpan 文本有点击事件

    private TextView textView;
    textView = (TextView)this.findViewById(R.id.textView);
    String text = "显示Activity";
    SpannableString spannableString = new SpannableString(text);
    spannableString.setSpan(new ClickableSpan() {
        @Override
        public void onClick(View widget) {
            Intent intent = new Intent(Main.this,OtherActivity.class);
            startActivity(intent);
        }
        // 表示点击整个text的长度都有效触发这个事件
    }, 0, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    textView.setText(spannableString);
    textView.setMovementMethod(LinkMovementMethod.getInstance());

    9.UnderlineSpan 下划线

    private void addUnderLineSpan() {  
        SpannableString spanString = new SpannableString("下划线");  
        UnderlineSpan span = new UnderlineSpan();  
        spanString.setSpan(span, 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
        tv.append(spanString);  
    } 

    10.StrikethroughSpan 删除线

    private void addStrikeSpan() {  
        SpannableString spanString = new SpannableString("删除线");  
        StrikethroughSpan span = new StrikethroughSpan();  
        spanString.setSpan(span, 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
        tv.append(spanString);  
    }  

    11.SuggestionSpan 占位符

    12.MaskFilterSpan 修饰效果,模糊,浮雕等

    13.rasterizerSpan 光栅效果

    14.AbsoluteSizeSpan 绝对大小(文本字体)

    private void setAbsoluteFontSpan() {
            SpannableString spannableString = new SpannableString("40号字体");
            AbsoluteSizeSpan absoluteSizeSpan = new AbsoluteSizeSpan(40);
            spannableString.setSpan(absoluteSizeSpan, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
            editText.append(spannableString);
    }

    15.dynamicDrawableSpan 设置图片,基于文本基线或底部对齐

    16.TextAppearancSpan 文本外貌(字体,大小,样式和颜色)

    private void setTextAppearanceSpan() {
        SpannableString spanString = new SpannableString("文本外貌");
        TextAppearanceSpan textAppearanceSpan = new TextAppearanceSpan(this, android.R.style.TextAppearance_Medium);
        spanString.setSpan(textAppearanceSpan, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        tv.append(spanString);
    }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    转载于:https://www.cnblogs.com/pillowzhou/p/4684336.html

    展开全文
  • Use of RichText model

    2021-01-10 23:22:07
    m creating a model and I want to have a RichText field in one of the attributes of the class (code below): <p>models.py <pre><code> javascript from django.db import models from mezzanine.pages.models ...
  • Richtext store in markdown

    2021-01-08 03:23:00
    I sould save the text from a <code>richtext</code> property in the markdown format because the Quill's html it is pratically end at itself</p> <p>If you know any ways to solve this please tell ...
  • Richtext or Markdown?

    2020-12-26 23:56:16
    <p>For richtext: CMD/Ctrl + B for Bold, CMD/Ctrl + I for Italic, CMD/Ctrl + U for Underline, CMD/Ctrl + S for Strikethrough. <p>Markdown: The best solution here would have to be in-...
  • <p>PPT中如何在RichText里隔行填写内容并设置空行的字体大小</p>
  • RichText Builder-代替StringBuilder输出RTF。
  • <div><p>I have a runtime error for java.lang.Exception: java.lang.NoClassDefFoundError: org/fxmisc/richtext/TextFlowLayout. I'm using java14 and JavaFx13. I use Maven to download the dependencies ...
  • RichText 解决问题 使用链式结构组成SpannableStringBuilder。使得结构上更加清晰,使用时更加方便。 使用对比 代码对比: //链式结构 private fun initContentTop() { RichText.Builder(this) .backColor(1, 4, ...
  • RichText编辑器 RichText Editor是由MIT许可的开源项目。 Windows的富文本编辑器。 ( RichText编辑器图像。
  • RichText AutoWrap Bug

    2020-12-08 18:15:05
    <div><p>http://discuss.cocos2d-x.org/t/richtext-autowrap-bugged/40019</p> <p>Hi, I found two bugs with autowrap - ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,776
精华内容 710
关键字:

richtext