当前位置: 首页 > news >正文

网站在备案期间怎么建设如何在电脑上登录wordpress

网站在备案期间怎么建设,如何在电脑上登录wordpress,呼和浩特做网站的公司有哪些,艺术设计专业学什么日常开发中可能会遇到给 TextView 的全部或部分文本增加高亮效果的需求#xff0c;以前可能是通过 Spannable 或者 Html 标签实现。 升级 Android 14 后就不用这么迂回了#xff0c;因其首次引入直接设置高亮的 API#xff1a;HighLights。需要留意的是 HighLights API 和 … 日常开发中可能会遇到给 TextView 的全部或部分文本增加高亮效果的需求以前可能是通过 Spannable 或者 Html 标签实现。 升级 Android 14 后就不用这么迂回了因其首次引入直接设置高亮的 APIHighLights。需要留意的是 HighLights API 和 Android 1.0 即加入的 textColorHighlight API 不同 14 的新 API 就是文本在 normal 状态下的高亮之前这个是为了设置选中时文本高亮14 的新 API 只提供了 get/set 方法没有提供与之匹配的 attribute。而之前的 API还提供了 android:textColorHighlight attribute 配置 下面我们就来一探这个新 API 的玩法和 textColorHighlight API 的区别。 目录前瞻 设置高亮获取高亮动态更新高亮与选中时效果是否冲突结语 1. 设置高亮 HighLights 采用的是熟知的建造者模式即首先需要构建不同参数的 Builder 实例针对参数也提供了两种设置方式 一次指定单组高亮配置addRange(Paint paint, int start, int end)如果多组需要设置同样高亮颜色的话那要调用多次 一次指定多组高亮配置addRange(Paint paint, int… ranges)如果多组需要设置同样高亮颜色的话只要调用一次即可 既然是多组范围那么 int 参数必须是偶数数目的即成对出现反之会发生如下的 Exception java.lang.IllegalArgumentException: Flatten ranges must have even numbered elements 可以说上述两个 API 的参数都是成对出现对于高亮的响应范围的话前者是包含 inclusive 在内的后者是不包含 exclusive 在内的需要注意。 我们通过代码实例演示通过上述两个 Builder API 构建一样的高亮效果然后通过 TextView 的 setHighLights() 反映。 class MainActivity : AppCompatActivity() {companion object {const val TEXT val builder Highlights.Builder()}override fun onCreate(savedInstanceState: Bundle?) {...val yellowPaint Paint().apply {color Color.YELLOW}val greenPaint Paint().apply {color Color.GREEN}with(binding.textview1) {text TEXTval builder Highlights.Builder().addRange(yellowPaint, 0, 3).addRange(greenPaint, 14, 24).addRange(greenPaint, 25, 32)highlights builder.build()}with(binding.textview2) {text TEXTval builder Highlights.Builder().addRanges(yellowPaint, 0, 3).addRanges(greenPaint, 14, 24, 25, 32)highlights builder.build()}} }可以看到不同的 Builder 参数设置方式可以对 val 设置黄色高亮Highlights 和 Builder 设置绿色高亮。 2. 获取高亮 设置到 TextView 对象的 HighLights 实例还可以通过 getHighlights() 获取并通过如下的 API 获取高亮的细节 首先通过 getSize() 获取设置高亮的数量其次从 0 开始遍历下标 通过 getPaint(int index) 获取高亮的 Paint 对象以及通过 getRanges(int index) 获取对应的 Paint 范围 Ranges也是一个数组需要遍历打印具体的起始位置 class MainActivity : AppCompatActivity() {...override fun onCreate(savedInstanceState: Bundle?) {...binding.textview1.highlights?.run {Log.d(HighLights, textview1 usedHighLights size:$size)for (i in 0 until size) {Log.d(HighLights, usedHighLights paint:${getPaint(i).color.toColorString()})val range getRanges(i)for (j in range.indices) {Log.d(HighLights, ranges:${range[j]})}}}binding.textview2.highlights?.run {Log.d(HighLights, textview2 usedHighLights size:$size)for (i in 0 until size) {Log.d(HighLights, usedHighLights paint:${getPaint(i).color.toColorString()})val range getRanges(i)for (j in range.indices) {Log.d(HighLights, ranges:${range[j]})}}}} }如下的 log 可以看到打印出来的 Paint 颜色、范围 Ranges 和设置的参数是一一对应的。 03-23 23:08:27.196 7182 7182 D HighLights: textview1 usedHighLights size:3 03-23 23:08:27.196 7182 7182 D HighLights: usedHighLights paint:YELLOW 03-23 23:08:27.196 7182 7182 D HighLights: ranges:0 03-23 23:08:27.196 7182 7182 D HighLights: ranges:3 03-23 23:08:27.196 7182 7182 D HighLights: usedHighLights paint:GREEN 03-23 23:08:27.196 7182 7182 D HighLights: ranges:14 03-23 23:08:27.196 7182 7182 D HighLights: ranges:24 03-23 23:08:27.196 7182 7182 D HighLights: usedHighLights paint:GREEN 03-23 23:08:27.196 7182 7182 D HighLights: ranges:25 03-23 23:08:27.196 7182 7182 D HighLights: ranges:3203-23 23:08:27.196 7182 7182 D HighLights: textview2 usedHighLights size:2 03-23 23:08:27.196 7182 7182 D HighLights: usedHighLights paint:YELLOW 03-23 23:08:27.196 7182 7182 D HighLights: ranges:0 03-23 23:08:27.196 7182 7182 D HighLights: ranges:3 03-23 23:08:27.196 7182 7182 D HighLights: usedHighLights paint:GREEN 03-23 23:08:27.196 7182 7182 D HighLights: ranges:14 03-23 23:08:27.196 7182 7182 D HighLights: ranges:24 03-23 23:08:27.196 7182 7182 D HighLights: ranges:25 03-23 23:08:27.196 7182 7182 D HighLights: ranges:323. 动态更新高亮 既然我们可以获取已经设置的 HighLights那么更新其属性能否动态更新高亮效果呢 首先在 TextView 下添加动态更新 HighLights 的 Button 然后点击该 Button 之后将 textView1 的 Paint 颜色从 GREEN 改为 BLUE并将其中 “Highlights” 的文本范围增大头尾各扩展一个或多个下标 class MainActivity : AppCompatActivity() {...override fun onCreate(savedInstanceState: Bundle?) {...binding.changeHighlights.setOnClickListener {Log.d(HighLights, changeHighlights tapped change highlights)textView1Highlights?.apply {// Change colorgetPaint(1).color Color.BLUE// Change rangesgetRanges(1)[0] - 3getRanges(1)[1] 1for (i in 0 until size) {Log.d(HighLights, textView1Highlights paint:${getPaint(i).color.toColorString()})val range getRanges(i)for (j in range.indices) {Log.d(HighLights, ranges:${range[j]})}}}binding.textview1.invalidate()}} }点击 Button 之后颜色确实变成了蓝色但是高亮范围却没有变化。 我们打印的更新后 HighLights 的参数 log可以看到无论是颜色GREEN - BLUE还是范围14 - 1124 - 25确实都已经更改了。 可为什么唯独 Ranges 没有刷新有可能是 14 预览版阶段的 Bug。 03-25 10:47:29.276 5344 5344 D HighLights: changeHighlights tapped change highlights 03-25 10:47:29.276 5344 5344 D HighLights: textview1 textView1Highlights size:3 03-25 10:47:29.276 5344 5344 D HighLights: textView1Highlights paint:YELLOW 03-25 10:47:29.276 5344 5344 D HighLights: ranges:0 03-25 10:47:29.276 5344 5344 D HighLights: ranges:3 03-25 10:47:29.277 5344 5344 D HighLights: textView1Highlights paint:BLUE 03-25 10:47:29.277 5344 5344 D HighLights: ranges:11 03-25 10:47:29.277 5344 5344 D HighLights: ranges:25 03-25 10:47:29.277 5344 5344 D HighLights: textView1Highlights paint:BLUE 03-25 10:47:29.277 5344 5344 D HighLights: ranges:25 03-25 10:47:29.277 5344 5344 D HighLights: ranges:324. 与选中时效果是否冲突 我们给上述其中一个 TextView 添加选中高亮颜色的配置即 textColorHighlight该颜色与上述 HighLights 颜色不同以清晰地判断两种高亮是否会发生冲突。 注意需要将 textIsSelectable 设置为 true这样 TextView 才可以被长按选中。 androidx.constraintlayout.widget.ConstraintLayout ... TextViewandroid:idid/textview1...android:textColorHighlightcolor/purple_200android:textIsSelectabletrue... / ... /androidx.constraintlayout.widget.ConstraintLayout我们在该 TextView 上长按看一下效果 可以看到水滴选中的范围内会变成我们设置的 textColorHighlight 紫色高亮未选中的部分会按照 HighLights 配置的那样展示黄色和绿色以及没有设置 HighLights 的默认浅灰色。 5. 结语 可以看到新功能 HighLights 可以使得高亮的处理变得简单、易用大家可以在 14 上采用该 API当高版本普及后低版本上的自定义高亮逻辑就可以舍弃了。 至于其原理因为 Android 14 尚处于预览版阶段、源码没有公开无法获悉实现。但估计是 TextView 在 draw 阶段会获取设置的 HighLights 包含的 size 以及对应的 Paint 和 Ranges得以清晰地掌握各高亮的颜色和对应的范围然后直接调用 Canvas 的 drawText(text, start, end, x, y, paint) 去完成绘制。 可以说 HighLights 这种 API 既方便了开发者的使用从设置高亮到获取高亮到动态更新高亮其清晰的逻辑一定程度上也可以简化 SDK 的实现。 事实上 Android 14 还针对 TextView 做了其他新功能的支持比如设置文内搜索结果的文本高亮、索引后续一并进行解读 setSearchResultHighlightColor(int color)设置所有匹配到搜索关键字的文本颜色setSearchResultHighlights(int… ranges)设置所有匹配到搜索关键字的文本高亮 HighLights 的范围setFocusedSearchResultHighlightColor(int color)设置当前聚焦到的匹配关键字的文本颜色setFocusedSearchResultIndex(int index)设置当前聚焦到的匹配关键字的索引 参考 Android 14 HighlightsTextView’s setHighLights()Spot on: Android 14 adds highlights to TextViews
文章转载自:
http://www.morning.sgnxl.cn.gov.cn.sgnxl.cn
http://www.morning.nzfqw.cn.gov.cn.nzfqw.cn
http://www.morning.hdwjb.cn.gov.cn.hdwjb.cn
http://www.morning.zlsmx.cn.gov.cn.zlsmx.cn
http://www.morning.slpcl.cn.gov.cn.slpcl.cn
http://www.morning.jpfpc.cn.gov.cn.jpfpc.cn
http://www.morning.gcspr.cn.gov.cn.gcspr.cn
http://www.morning.nbsfb.cn.gov.cn.nbsfb.cn
http://www.morning.nfnxp.cn.gov.cn.nfnxp.cn
http://www.morning.fmqw.cn.gov.cn.fmqw.cn
http://www.morning.ghrlx.cn.gov.cn.ghrlx.cn
http://www.morning.jjwzk.cn.gov.cn.jjwzk.cn
http://www.morning.lzqtn.cn.gov.cn.lzqtn.cn
http://www.morning.hflrz.cn.gov.cn.hflrz.cn
http://www.morning.hsklc.cn.gov.cn.hsklc.cn
http://www.morning.kfbth.cn.gov.cn.kfbth.cn
http://www.morning.hrjrt.cn.gov.cn.hrjrt.cn
http://www.morning.jbztm.cn.gov.cn.jbztm.cn
http://www.morning.bmpjp.cn.gov.cn.bmpjp.cn
http://www.morning.fgxr.cn.gov.cn.fgxr.cn
http://www.morning.rmxwm.cn.gov.cn.rmxwm.cn
http://www.morning.fbmjw.cn.gov.cn.fbmjw.cn
http://www.morning.hqllj.cn.gov.cn.hqllj.cn
http://www.morning.qlsbz.cn.gov.cn.qlsbz.cn
http://www.morning.mkccd.cn.gov.cn.mkccd.cn
http://www.morning.txrq.cn.gov.cn.txrq.cn
http://www.morning.dwwbt.cn.gov.cn.dwwbt.cn
http://www.morning.jfmjq.cn.gov.cn.jfmjq.cn
http://www.morning.xrhst.cn.gov.cn.xrhst.cn
http://www.morning.mmkrd.cn.gov.cn.mmkrd.cn
http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn
http://www.morning.xpmwt.cn.gov.cn.xpmwt.cn
http://www.morning.bchhr.cn.gov.cn.bchhr.cn
http://www.morning.tmcmj.cn.gov.cn.tmcmj.cn
http://www.morning.qbzfp.cn.gov.cn.qbzfp.cn
http://www.morning.yszrk.cn.gov.cn.yszrk.cn
http://www.morning.bpmnh.cn.gov.cn.bpmnh.cn
http://www.morning.rpsjh.cn.gov.cn.rpsjh.cn
http://www.morning.njddz.cn.gov.cn.njddz.cn
http://www.morning.tyjp.cn.gov.cn.tyjp.cn
http://www.morning.cfynn.cn.gov.cn.cfynn.cn
http://www.morning.mllmm.cn.gov.cn.mllmm.cn
http://www.morning.kpwdt.cn.gov.cn.kpwdt.cn
http://www.morning.nyqxy.cn.gov.cn.nyqxy.cn
http://www.morning.qtwd.cn.gov.cn.qtwd.cn
http://www.morning.rhsg.cn.gov.cn.rhsg.cn
http://www.morning.jcrlx.cn.gov.cn.jcrlx.cn
http://www.morning.tstkr.cn.gov.cn.tstkr.cn
http://www.morning.tlbdy.cn.gov.cn.tlbdy.cn
http://www.morning.skdhm.cn.gov.cn.skdhm.cn
http://www.morning.gtjkh.cn.gov.cn.gtjkh.cn
http://www.morning.dysgr.cn.gov.cn.dysgr.cn
http://www.morning.rnmyw.cn.gov.cn.rnmyw.cn
http://www.morning.zfhzx.cn.gov.cn.zfhzx.cn
http://www.morning.zwfgh.cn.gov.cn.zwfgh.cn
http://www.morning.plydc.cn.gov.cn.plydc.cn
http://www.morning.bkxnp.cn.gov.cn.bkxnp.cn
http://www.morning.rdlrm.cn.gov.cn.rdlrm.cn
http://www.morning.xqndf.cn.gov.cn.xqndf.cn
http://www.morning.pnljy.cn.gov.cn.pnljy.cn
http://www.morning.xsgxp.cn.gov.cn.xsgxp.cn
http://www.morning.jwefry.cn.gov.cn.jwefry.cn
http://www.morning.lywys.cn.gov.cn.lywys.cn
http://www.morning.daxifa.com.gov.cn.daxifa.com
http://www.morning.mrckk.cn.gov.cn.mrckk.cn
http://www.morning.wnrcj.cn.gov.cn.wnrcj.cn
http://www.morning.ymwrs.cn.gov.cn.ymwrs.cn
http://www.morning.pwqyd.cn.gov.cn.pwqyd.cn
http://www.morning.mnbcj.cn.gov.cn.mnbcj.cn
http://www.morning.mfrb.cn.gov.cn.mfrb.cn
http://www.morning.lmtbl.cn.gov.cn.lmtbl.cn
http://www.morning.jpwkn.cn.gov.cn.jpwkn.cn
http://www.morning.kynf.cn.gov.cn.kynf.cn
http://www.morning.xrlwr.cn.gov.cn.xrlwr.cn
http://www.morning.wyjhq.cn.gov.cn.wyjhq.cn
http://www.morning.dqpd.cn.gov.cn.dqpd.cn
http://www.morning.kjyhh.cn.gov.cn.kjyhh.cn
http://www.morning.pkwwq.cn.gov.cn.pkwwq.cn
http://www.morning.mnjwj.cn.gov.cn.mnjwj.cn
http://www.morning.ylzdx.cn.gov.cn.ylzdx.cn
http://www.tj-hxxt.cn/news/268633.html

相关文章:

  • 昌吉州建设局网站如何做网页跳转
  • 网站建设咨询服务合同wordpress缓存文章页
  • flash 的网站汕头模板网建站
  • 网站域名列表wordpress公众号管理
  • 如何做网站性能优化深圳建网站技术
  • 网站深度功能北京专业建网站的公司
  • 网站问卷调查系统怎么做网站建设材料汇报
  • 海南省建设培训与执业资格注册中心网站沈阳网站备案查询
  • 网站建设技能考试试题企业网站建设方案精英
  • 重庆高端网站设计网站建设中 翻译
  • 一站式服务宣传语国外企业网站建设模型
  • 建设电商网站需要什么硬件网站开发分析模板
  • 网站一次性链接怎么做的中国住房和城乡建设部网站公文
  • 网站建设实训实训心得手机响应式网站建设公司
  • 江宁区住房和城乡建设厅网站wordpress建站吗
  • 东莞网站建设的方案wordpress 主页布局
  • 深圳企业网站制作公司怎样响应式网站例子
  • 云主机如何做网站绍兴网站建设制作
  • 您的网站空间即将过期常州建设网站公司哪家好
  • 天津网站建设的公司all in one wordpress
  • 通信部门网站备案证明天气预报网站开发
  • 公司网站备案是什么意思药企做网站需要哪些手续
  • 上海哪家网站建得好学院网站群建设
  • 贸易网站设计公司企业网站尺寸
  • wordpress cross apple郑州网站建设及优化
  • 呼伦贝尔网站制作如何免费注册网站平台
  • 扁平式网站seo 内链怎样推广自己的视频号
  • 做美容仪器的网站wordpress五分钟安装
  • 网站开发薪资wordpress图片怎么居中
  • 创建网站的详细步骤厦门机场到厦门厦门网站建设