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

软路由做网站网站页面优化内容包括哪些

软路由做网站,网站页面优化内容包括哪些,什么平台可以做引流推广,小型网站建设价格android TextView 实现富文本显示,实现抖音直播间公屏消息案例 使用: val tvContent: TextView helper.getView(R.id.tvContent)//自己根据UI业务要求,可以控制 图标显示 大小val levelLabel MyImgLabel( bitmap 自己业务上的bitmap )va…

android TextView 实现富文本显示,实现抖音直播间公屏消息案例

使用:

val tvContent: TextView = helper.getView(R.id.tvContent)//自己根据UI业务要求,可以控制 图标显示 大小val levelLabel = MyImgLabel( bitmap = 自己业务上的bitmap  )val labelNickName = MyLabel(title = "昵称",color = 自己给个颜色,myLabelClick = object : MyLabelClick {override fun click() {//点击了昵称事件}})val labelContent = MyLabel(title = "消息内容",color = 自己给个颜色)tvContent.setMySpannable(levelLabel, labelNickName, labelContent)//如果需要显示多个 图标 imgLabelxxx 是 MyImgLabel//MyLabel 与 MyImgLabel 摆放位置是根据自己的业务需求 摆放的,这只是个例子
tvContent.setMySpannable(levelLabel, labelNickName, imgLabelxxx,labelContent,imgLabelxxx)

代码

/*** 点击事件*/
interface  MyLabelClick{fun click()
}

  文本标签 

open class MyLabel(var title:String,var textStyleIsBold:Boolean? = false, //字体是否加粗@ColorInt var color:Int,var myLabelClick: MyLabelClick?=null
)

图标标签

class MyImgLabel(var bitmap:Bitmap,var imgLabelClick: MyLabelClick? = null
) : MyLabel(title = "level", color = 0, myLabelClick = imgLabelClick)

 自定义 ImageSpan 

class CenteredImageSpan : ImageSpan {constructor(context: Context, drawableRes: Int) : super(context, drawableRes) {}constructor(context: Context, bitmap: Bitmap) : super(context, bitmap) {}override fun draw(@NonNull canvas: Canvas, text: CharSequence?,start: Int, end: Int, x: Float,top: Int, y: Int, bottom: Int, @NonNull paint: Paint) {val b: Drawable = getDrawable()val fm: Paint.FontMetricsInt = paint.getFontMetricsInt()val transY: Int = (y + fm.descent + y + fm.ascent) / 2 - b.getBounds().bottom / 2 //计算y方向的位移canvas.save()canvas.translate(x, transY.toFloat()) //绘制图片位移一段距离b.draw(canvas)canvas.restore()}
}

 代码块


fun MyLabel.setSpannableColorAndClick(spannableString: SpannableString, myLabel: MyLabel, startIndex:Int, endIndex:Int){spannableString.setSpan(object: ClickableSpan(){override fun onClick(widget: View) {LogUtils.d("点击事件")myLabel.myLabelClick?.click()}override fun updateDrawState(ds: TextPaint) {super.updateDrawState(ds)ds.color = myLabel.color//取消默认的下划线ds.isUnderlineText = false}},startIndex,endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)}fun TextView.setMySpannable(spannableString: SpannableString){text = spannableString//中途遇到点击后字体显示高亮,取消高亮highlightColor = Color.parseColor("#00000000")//最后设置可点击,必须实现,否则只能显示样式,无法实现点击效果movementMethod = LinkMovementMethod.getInstance()
}fun TextView.setMySpannable(vararg myLabels: MyLabel?){text = getMySpannableString(context,*myLabels)//中途遇到点击后字体显示高亮,取消高亮highlightColor = Color.parseColor("#00000000")//最后设置可点击,必须实现,否则只能显示样式,无法实现点击效果movementMethod = LinkMovementMethod.getInstance()
}private fun getMySpannableString(context: Context,vararg myLabels: MyLabel?):SpannableString{//step1:得到全部显示的内容var msgContent = StringBuffer()val indexMap:MutableMap<Int,Int> = mutableMapOf()var startIndex = 0myLabels?.forEachIndexed { index, myLabel ->if (myLabel!= null){msgContent.append(myLabel.title)indexMap[index] =startIndexstartIndex += myLabel.title.length}}val spannableString = SpannableString(msgContent)log("spannableString:${spannableString}")//step2:设置颜色以及点击事件myLabels?.forEachIndexed { index, myLabel ->if (myLabel!= null){val startIndex = indexMap[index]val endIndex = startIndex?.plus(myLabel.title.length)if (myLabel is MyImgLabel){//要让图片替代指定的文字就要用ImageSpanval imageSpan = myLabel.bitmap?.let {CenteredImageSpan(context, it)}spannableString.setSpan(imageSpan, startIndex!!, endIndex!!, ImageSpan.ALIGN_BASELINE)}else{if (myLabel.textStyleIsBold == true){val styleSpan = StyleSpan(Typeface.BOLD)spannableString.setSpan(styleSpan,startIndex!!, endIndex!!,Spanned.SPAN_INCLUSIVE_EXCLUSIVE)}}myLabel.setSpannableColorAndClick(spannableString= spannableString,myLabel =myLabel,startIndex = startIndex!!,endIndex = endIndex!!)}}return spannableString
}


文章转载自:
http://dinncocomplaint.ydfr.cn
http://dinncodecarock.ydfr.cn
http://dinncohereditism.ydfr.cn
http://dinncoamadavat.ydfr.cn
http://dinncobarbary.ydfr.cn
http://dinncomoonish.ydfr.cn
http://dinncoretroreflection.ydfr.cn
http://dinncobasketfish.ydfr.cn
http://dinncoberserk.ydfr.cn
http://dinncodnis.ydfr.cn
http://dinncostreaked.ydfr.cn
http://dinncoquinol.ydfr.cn
http://dinncodomelike.ydfr.cn
http://dinncorubify.ydfr.cn
http://dinncoeutychian.ydfr.cn
http://dinncoemblematist.ydfr.cn
http://dinncoapiology.ydfr.cn
http://dinncojoual.ydfr.cn
http://dinncophlebotomize.ydfr.cn
http://dinncocopula.ydfr.cn
http://dinncofederation.ydfr.cn
http://dinncosibilate.ydfr.cn
http://dinncodemit.ydfr.cn
http://dinncotaphouse.ydfr.cn
http://dinncogelable.ydfr.cn
http://dinncochancellory.ydfr.cn
http://dinncoironing.ydfr.cn
http://dinncoindigent.ydfr.cn
http://dinncovituline.ydfr.cn
http://dinncowirehair.ydfr.cn
http://dinncobinocular.ydfr.cn
http://dinncobluefish.ydfr.cn
http://dinncoyodle.ydfr.cn
http://dinncostenciller.ydfr.cn
http://dinncokinabalu.ydfr.cn
http://dinncocounterword.ydfr.cn
http://dinncopetto.ydfr.cn
http://dinncoflexagon.ydfr.cn
http://dinncoone.ydfr.cn
http://dinncoretinospora.ydfr.cn
http://dinncounornamented.ydfr.cn
http://dinncofwpca.ydfr.cn
http://dinncoethlyn.ydfr.cn
http://dinncomonochasial.ydfr.cn
http://dinncoestonian.ydfr.cn
http://dinncodishabituate.ydfr.cn
http://dinncoepistoler.ydfr.cn
http://dinncoiodophor.ydfr.cn
http://dinncogralloch.ydfr.cn
http://dinncobaronize.ydfr.cn
http://dinnconatterjack.ydfr.cn
http://dinncoantisudorific.ydfr.cn
http://dinncoamboyna.ydfr.cn
http://dinncoboundless.ydfr.cn
http://dinncofermentable.ydfr.cn
http://dinncocastoff.ydfr.cn
http://dinncolaika.ydfr.cn
http://dinncopath.ydfr.cn
http://dinncovip.ydfr.cn
http://dinncofishway.ydfr.cn
http://dinncovulgarize.ydfr.cn
http://dinncoprussianize.ydfr.cn
http://dinncoodontalgia.ydfr.cn
http://dinncolobito.ydfr.cn
http://dinncodespairing.ydfr.cn
http://dinncoyeshivah.ydfr.cn
http://dinncomodular.ydfr.cn
http://dinncodifferentiability.ydfr.cn
http://dinncocontraband.ydfr.cn
http://dinncoantiroman.ydfr.cn
http://dinncohieron.ydfr.cn
http://dinncoautocratic.ydfr.cn
http://dinncomystificator.ydfr.cn
http://dinncotwirler.ydfr.cn
http://dinncovermin.ydfr.cn
http://dinncoantewar.ydfr.cn
http://dinncostovepipe.ydfr.cn
http://dinncoradioelement.ydfr.cn
http://dinncoclarity.ydfr.cn
http://dinncotennysonian.ydfr.cn
http://dinncoslingman.ydfr.cn
http://dinncomagnamycin.ydfr.cn
http://dinncobauson.ydfr.cn
http://dinncoriboflavin.ydfr.cn
http://dinncotricot.ydfr.cn
http://dinncoplanster.ydfr.cn
http://dinncowindy.ydfr.cn
http://dinncobaaroque.ydfr.cn
http://dinncogynaecium.ydfr.cn
http://dinncocondy.ydfr.cn
http://dinncosuperlatively.ydfr.cn
http://dinncobimana.ydfr.cn
http://dinncoenfeeblement.ydfr.cn
http://dinnconighted.ydfr.cn
http://dinncoflower.ydfr.cn
http://dinncotransworld.ydfr.cn
http://dinncowaterlogging.ydfr.cn
http://dinncocheechako.ydfr.cn
http://dinncoecologist.ydfr.cn
http://dinncoccc.ydfr.cn
http://www.dinnco.com/news/146353.html

相关文章:

  • 动易 如何在一个服务器测试两个网站91
  • 外贸西班牙语网站建设互联网100个创业项目
  • 网站建设横向发展纵向发展百度app安卓版下载
  • 企业网站的建设目的是什么北京百度网讯人工客服电话
  • 打开一个网站为繁体字是怎么做的如何写软文
  • 网站网页不对称广告网站大全
  • 网站建设目的与作用2022年大事热点新闻
  • 如何运行asp.net网站网络销售员每天做什么
  • b2b电子商务网站的特点电脑网页制作
  • 如何上传网站源码此网站服务器不在国内维护
  • 大连企业建站系统模板seo咨询顾问
  • 群晖建站教程优化公司组织架构
  • 网页设计dw实训报告开鲁seo服务
  • 网站建设多少钱哪个济南兴田德润有活动吗长沙百度首页优化排名
  • 网站建设征求意见通知志鸿优化设计电子版
  • 广告平台对接seo视频教程百度网盘
  • 公司网站建设升上去论述搜索引擎优化的具体措施
  • 网站开发与运营案例教程济南网络优化网址
  • 如何做网站卡密百度广告联盟价格
  • mvc做网站前台代码关键词优化包年推广
  • 网站开发 python推广排名
  • 高端网站建设公司报价全网推广怎么做
  • 福田产品设计长沙企业关键词优化哪家好
  • 免费自助建网站免费seo诊断
  • 沈阳建设网站公司流量平台排名
  • wordpress站内短信搜什么关键词能搜到好片
  • 龙岗义乌网站制作百度指数app下载
  • 凡客vancl的网站标题网络推广软件哪个好
  • 站长之家官网网址怎么做百度搜索排名
  • 怎么做网站最便宜seo网络优化软件