精华内容
下载资源
问答
  • lineheight
    2021-06-10 18:03:52

     

    目录

    一. 问题

    二. 案例

    三. 参考


     

    一. 问题

    今天写到行高的时候发现,忘记咋写了,扒拉之前写的,贴出来保存一下;

     

    二. 案例

    <Text style={{
        color: '#666666',
        lineHeight: 21,
        fontSize: 14,
        includeFontPadding: false,
    }}>{'Content'}</Text>

    说明:

    lineHeigh = fontSizelineSpacing/2

     

    三. 参考

    1. https://reactnative.cn/docs/view
    2. https://reactnative.cn/docs/text
    3. https://reactnative.cn/docs/text-style-props
    4. https://reactnative.cn/docs/text-style-props#lineheight

     

    (完)

     

     

    更多相关内容
  • lineheight

    2016-11-03 17:11:05
    config.extraPlugins = 'gongju,lineheight'; 如果之前没有修改过则添加一个 config.extraPlugins = 'lineheight'; 最后根据自己版本和需求在config.toolbar_Full(估计4.5之后是)里放入'lineheight'即可
  • Fix edittext lineHeight and cursor effect when set lineSpacingExtra or lineSpacingMultiplier EditText vs LineHeightEditText Usage compile 'com.hanks:lineheightedittext-library:1.0' License Copyright...
  • 适用于ckeditor4.0以上,使用方法: 1.将lineheight文件夹拷入plugins文件夹下 2.修改config文件加入config.extraPlugins += (config.extraPlugins ? ',lineheight' : 'lineheight'); 语句用来加载插件
  • 之前在网上下载的都不可以用,于是想尽办法发现是网上提供的是不支持最新的ckeditor.用法找见自己的ckeditor地址让后放到ckeditor...最后根据自己版本和需求在config.toolbar_Full(估计4.5之后是)里放入'lineheight'即可
  • lineheight.rar

    2021-09-10 16:14:38
    tinymce的行高插件
  • CKEditor 4.0 行距插件lineheight

    热门讨论 2013-01-08 17:04:56
    用于最新CKEditor4.0的行距插件,不能用于CKEditor3.X.X及以前版本
  • 最后在最底部画一个矩形盖住底部最后一行可能展示不全的text就可以了,伪代码如下: ps:如果在低版本系统上发现lineHeight*lineCount始终和TextView的height查了固定数值的话,那可能是TextView的默认边距没有去掉,去掉...

    前言

    最近在做运行在墨水屏系统上的程序,由于墨水屏刷新率比较低,所以系统内的软件是不允许滚动和加动画的(在逻辑上)

    这样就导致了平时在普通安卓手机上很简单的程序,在墨水屏系统上就很麻烦,比如多页的应用,普通安卓机直接搞一个ScrollView和RecyclerView就可以了,但墨水屏系统上你需要自己计算每页展示多少内容,然后在进行分页

    旧方式分页

    由于墨水屏的特性,我们要实现一个跨页的TextView,就需要进行分页处理

    ps:为什么不适用自己绘制?因为要兼容富文本

    最开始使用的系统是基于安卓8的,其版本中TextView的行高lineHeight*行数lineCount=TextView的高度,所以最开始的TextView分页算法也很简单:

    先用页面高度/tv行高获得一页能展示多少行,然后通过tv总行数/单页行数计算得到一共多少页,最后在最底部画一个矩形盖住底部最后一行可能展示不全的text就可以了,伪代码如下:

    ps:如果在低版本系统上发现lineHeight*lineCount始终和TextView的height查了固定数值的话,那可能是TextView的默认边距没有去掉,去掉的代码如下:

    includeFontPadding = false

    新方式分页

    后来用了新的安卓11系统后,发现lineHeight*lineCount!=height了,而且后续也上了很多种富文本,所以上面的方式就不太合适了,于是就需要找一种新的分页方式了

    通过扒拉TextView的源码发现,TextView计算Text和布局是通过Layout对象来实现的,于是我们就扒拉Layout的源码

    通过看源码发现包含普通Text和普通富文本的TextView中的Layout对象是StaticLayout,然后发现StaticLayout将其中计算的行位置等的数据保存在了内部变量mLines中,然后通过看源码结合别的博客发现TextView的行位置计算方式有两种:

    分为5线和7线两种(我的推测,如果有问题请大佬们指出)

    其中5线的示意图如下(图片来自承香墨影大佬的博客,侵删): 

     

    七线的没找到图...

     而不管是哪种行位置的计算方式,其实我们并不用管太多,因为Layout方法已经给出了方法让我们获取相应行的相应位置了:

    StaticLayout的getLineTop实现:

     

    虽然没有直接提供行最底部的y轴的值,但是提供了行最顶部的y轴获取的方法getLineTop(line),所以我们只需要拿到下一行的lineTop并减1像素,那就是本行的底部的y轴了,这样我们就可以计算TextView每行的高度并分页了,伪代码如下:

     最后再灵活绘制以下底部矩形盖住显示不全的文字就可以了

    结语

    安卓代码量太大了,每个部分可能都很复杂,如果想搞清楚一个东西,那就直接去看其本质(源码)

    end

     

     

    展开全文
  • 终于找到了可以用的ckeditor行距的插件了,谢谢这位仁兄的分享。我也在这里分享一下。不过有些不完善的地方。就是每次修改的时候行距又改回来了。希望哪位大牛完善完善。
  • ①从百度上下载一个 ckeditor 行距包,解压放到ckeditor/plugins目录下。... ‘,lineheight’ : ‘lineheight’);//行距③(转载) config.allowedContent = true; //加这个是为了不让span标签被cke...

    ①从百度上下载一个 ckeditor 行距包,解压放到ckeditor/plugins目录下。

    ②在config.js 中添加

    config.extraPlugins += (config.extraPlugins ? ‘,lineheight’ : ‘lineheight’);//行距③(转载)

    config.allowedContent = true; //加这个是为了不让span标签被ckeditor过滤掉,如果加了的话就不需要再加

    1. lineheight插件源码修改:
      1.原先的插件依赖于ckeditor/plugins/sytles插件,而ckeditor4.0是没有这个插件,所以如果直接使用该插件,会报错:
      Uncaught [CKEDITOR.resourceManager.load] Resource name “styles” was not found

    因此,要修改插件中对styles的引用:

    a.在lineheight目录下的plugin.js中:

    CKEDITOR.plugins.add('lineheight', 
                       { 
                           lang: ['zh-cn'], 
       
       
                           requires : [ 'richcombo', 'styles'], 
       
       
       
                          init : function( editor ) 
       
                                  ....... 
    
      中的requires: ['rechcombo', 'styles']            改为: requires: ['rechcombo']
      2.改完后使用,仍然会报错:
            Uncaught TypeError: Cannot read property 'editor' of undefined
           定位代码,在lineheight/plugin.js中:
    
    editor.ui.addRichCombo( comboName,  
    {label : lang.label,title: lang.panelTitle,className: 'cke_' + (styleType == 'size' ? 'fontSize' : 'font'),panel :{css : editor.skin.editor.css.concat( config.contentsCss ),multiSelect : false,attributes: { 'aria-label': lang.panelTitle }},  
      
    init : function(){  
      
                               .......
    

    报错地方: css : editor.skin.editor.css.concat( config.contentsCss )
    这是最新的ckeditor获得css配置的方式与原先不同引起的,那么对应的改为:

    css:  [CKEDITOR.skin.getPath("editor")].concat( config.contentsCss ), 
    

    3.上述改动完成后就可以使用行距这个功能了,但是发现下拉框没有标题,但是lineheight/lang/zh-cn.js中配置了标题呀。。。原因是新的ckeditor调用标签的方式变了:
    将/lineheight/plugin.js中下部分代码:

    editor.ui.addRichCombo( comboName,{label : lang.label,title: lang.panelTitle,className: 'cke_' + (styleType == 'size' ? 'fontSize' : 'font'),panel :{css : [CKEDITOR.skin.getPath("editor")].concat( config.contentsCss ),multiSelect : false,attributes: { 'aria-label': lang.panelTitle }},  
      
    init : function(){this.startGroup( lang.panelTitle );  
    

    改为:

    editor.ui.addRichCombo( comboName,{label : lang.lineheight.label,title: lang.lineheight.panelTitle,className: 'cke_' + (styleType == 'size' ? 'fontSize' : 'font'),panel :{css : [CKEDITOR.skin.getPath("editor")].concat( config.contentsCss ),multiSelect : false,attributes: { 'aria-label': lang.lineheight.panelTitle }},  
      
    init : function(){this.startGroup( lang.lineheight.panelTitle );  
    

    4.这样就完成了所有的配置了,当然如果想额外添加一些行距设置项,可以在/lineheight/plugin.js中添加,具体位置:

    CKEDITOR.config.lineheight_sizes =                  'normal;1.5em;1.75em;2em;3em;4em;5em;100%;120%;130%;150%;170%;180%;190%;200%;220%;250%;300%;400%;500%';  
    

    看到这个配置,你就会发现,这只是这个行距插件的默认配置值 ,那么如果要添加一些行距元素的话,可以在ckeditor的config.js中添加:

    CKEDITOR.config.lineheight_sizes = CKEDITOR.config.lineheight_sizes +   ’你添加的行距元素‘;  
    

    文章转载自https://www.cnblogs.com/zhb7769/p/10722376.html
    怕以后设置的时候忘记,故做个记录,希望能帮助到网友

    展开全文
  • ①从百度上下载一个 ckeditor 行距包,解压放到ckeditor/plugins目录下。 ②在config.js 中添加 ... ',lineheight' : 'lineheight');//行距③(转载) config.allowedContent = true; //加这个是为了不让span...

    ①从百度上下载一个 ckeditor 行距包,解压放到ckeditor/plugins目录下。

    ②在config.js 中添加   

    config.extraPlugins += (config.extraPlugins ? ',lineheight' : 'lineheight');//行距③(转载)

    config.allowedContent = true; //加这个是为了不让span标签被ckeditor过滤掉,如果加了的话就不需要再加

    1. lineheight插件源码修改:
            1.原先的插件依赖于ckeditor/plugins/sytles插件,而ckeditor4.0是没有这个插件,所以如果直接使用该插件,会报错:
            Uncaught [CKEDITOR.resourceManager.load] Resource name "styles" was not found
     
    因此,要修改插件中对styles的引用:
     
             a.在lineheight目录下的plugin.js中:
                        
             将
    CKEDITOR.plugins.add('lineheight',  
                       {  
                           lang: ['zh-cn'],  
      
      
                           requires : [ 'richcombo', 'styles'],  
      
      
      
                          init : function( editor )  
      
                                  .......  
    

      

    中的requires: ['rechcombo', 'styles']            改为: requires: ['rechcombo']

          2.改完后使用,仍然会报错:

                Uncaught TypeError: Cannot read property 'editor' of undefined

     

     

     

           定位代码,在lineheight/plugin.js中:
    editor.ui.addRichCombo( comboName,  
    {label : lang.label,title: lang.panelTitle,className: 'cke_' + (styleType == 'size' ? 'fontSize' : 'font'),panel :{css : editor.skin.editor.css.concat( config.contentsCss ),multiSelect : false,attributes: { 'aria-label': lang.panelTitle }},  
      
    init : function(){  
      
                               .......  

     

      

    报错地方:    css : editor.skin.editor.css.concat( config.contentsCss )
                     这是最新的ckeditor获得css配置的方式与原先不同引起的,那么对应的改为:
    css:  [CKEDITOR.skin.getPath("editor")].concat( config.contentsCss ),  
    

      

    3.上述改动完成后就可以使用行距这个功能了,但是发现下拉框没有标题,但是lineheight/lang/zh-cn.js中配置了标题呀。。。原因是新的ckeditor调用标签的方式变了:
                将/lineheight/plugin.js中下部分代码:
    editor.ui.addRichCombo( comboName,{label : lang.label,title: lang.panelTitle,className: 'cke_' + (styleType == 'size' ? 'fontSize' : 'font'),panel :{css : [CKEDITOR.skin.getPath("editor")].concat( config.contentsCss ),multiSelect : false,attributes: { 'aria-label': lang.panelTitle }},  
      
    init : function(){this.startGroup( lang.panelTitle );  

    改为:

    editor.ui.addRichCombo( comboName,{label : lang.lineheight.label,title: lang.lineheight.panelTitle,className: 'cke_' + (styleType == 'size' ? 'fontSize' : 'font'),panel :{css : [CKEDITOR.skin.getPath("editor")].concat( config.contentsCss ),multiSelect : false,attributes: { 'aria-label': lang.lineheight.panelTitle }},  
      
    init : function(){this.startGroup( lang.lineheight.panelTitle );  

    4.这样就完成了所有的配置了,当然如果想额外添加一些行距设置项,可以在/lineheight/plugin.js中添加,具体位置:

    CKEDITOR.config.lineheight_sizes =                  'normal;1.5em;1.75em;2em;3em;4em;5em;100%;120%;130%;150%;170%;180%;190%;200%;220%;250%;300%;400%;500%';  

    看到这个配置,你就会发现,这只是这个行距插件的默认配置值 ,那么如果要添加一些行距元素的话,可以在ckeditor的config.js中添加:

    CKEDITOR.config.lineheight_sizes = CKEDITOR.config.lineheight_sizes +   ’你添加的行距元素‘;  

    二、添加中文字体

    打开CKeditor目录里的config.js,在

    CKEDITOR.editorConfig = function( config )
    {

    };
    里添加如下代码:

    config.font_names='宋体/宋体;黑体/黑体;仿宋/仿宋_GB2312;楷体/楷体_GB2312;隶书/隶书;幼圆/幼圆;微软雅黑/微软雅黑;'+ config.font_names;

    以后使用的时候就可以用中文字体了。(注意,保存这个js文件的时候必须utf8,不然字体显示会是乱码)

    文章转载自http://www.it610.com/article/4654053.htm

    怕以后设置的时候忘记,故做个记录,希望能帮助到网友

    转载于:https://www.cnblogs.com/zhb7769/p/10722376.html

    展开全文
  • 1、首先需要下载一个lineheight包,网上很多资源都需要花钱或者花积分下载 找到ckeditor官网,在以下链接中直接下载即可 https://ckeditor.com/cke4/addon/lineheight 2、下载好后,添加在ckeditor下载plugin文件夹...
  • 但是我们现在需要拿到的不是span内容部分到顶部的距离而是包括行高在内的容器到顶部的距离 红色部分和绿色部分的间隙是行高导致的 拿到红色部分包括lineheight在内的距离顶部距离10 实际上这里拿到的lineheight距离...
  • dmenu:构建具有书签,计算,显示,退出,iwd,mount,service,unicode符号,vim,virtualbox,windows,youtube和alpha,lineheight,突出显示,数字,中心,mousesupport,边框的脚本的无吮吸dmenu ,符号,...
  • 这时候我们可以通过设置lineHeight来使每一行文本的高度一致,lineHeight设置为30pt的情况下,一行文本高度一定是30pt,两行文本高度一定是60pt。虽然文字的渲染上会有细微的差别,但是布局上的差别将被完全的抹除....
  • [iOS]UIFont的lineHeight与pointSize

    千次阅读 2018-11-08 16:18:16
    由于获取一个font的字体大小时使用了UIFont的lineHeight属性,结果是比字体的大小要大了一部分,然后经过查阅各种资料,发现了原因。 首先我们来看一看UIFont的API里面有哪些属性: // Font attributes @property...
  • 目录居中对齐的原理无法居中对齐的原因 居中对齐的原理 line-height可以理解成每行文字所占的高度。他的标准定义是每行文字基线与基线的距离。 例如,有一行20px大小的文字,如果设置为line-height:50px,那就是说,...
  • TextBlock Width="113.594" Height="73.667" Text="Some text" LineHeight="1"TextWrapping="Wrap" Foreground="#FFFFFFFF" FontSize="24" /> 在上面的textblock控件中允许huanhang,也就是说some 和 text将...
  • UIFont的lineHeight与pointSize

    千次阅读 2017-04-27 11:05:18
    写这篇文章的初衷是由于我有一次想获取一个font的字体大小时使用了UIFont的lineHeight属性,结果是比字体的大小要大了一部分,然后经过查阅各种资料,发现了原因。 首先我们来看一看UIFont的API里面有哪些属性: ...
  • 使用Text组件时上下文的文本间距可以使用lineHeight属性进行调节代码:效果:
  • 适用于帝国后台的ckeditor的行间距行高lineheight插件,里面的内容已经修改好,解压后好即可使用。
  • R语言ggplot2可视化分面图(facet_wrap)、使用lineheight参数自定义设置分面图标签栏(灰色标签栏)的高度
  • 关于CSS的lineheight属性的总结 参考文档:深入了解css的行高Line Height属性 一.定义lineheight的五种方式: lineheight:normal 子元素会继承由父元素计算出来的fontsize1.2 lineheight:120%; 子元素会继承由父...
  • Mac下有时候字体NSFont是没有lineHeight的,所以要获取,需要自己计算下 NSRect tempRect = [textString boundingRectWithSize:NSMakeSize(0, 0) options:NSStringDrawingUsesDeviceMetrics attributes:...
  • 如果有下列代码:<div class="wrapper">hello world</div>想让hello world在wrapper类中垂直居中,可以为wrapper中添加如下CSS:.wrapper:after {display:inline-block;width:0;h...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,101
精华内容 6,040
关键字:

lineheight