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

做个网站需要多少钱vi设计风格有哪些

做个网站需要多少钱,vi设计风格有哪些,十五种网络营销工具,移动端漂亮网站遇到一个需求#xff0c;让Android端实现给定一个字符串指定下标的几个字颜色与其他字颜色不一致。 主要是用ForegroundColorSpan这个API来传入颜色值#xff0c;用SpannableString来设置指定索引下标的字的颜色值。 这里通过给定一个输入文字描述框#xff0c;要求输入指定…遇到一个需求让Android端实现给定一个字符串指定下标的几个字颜色与其他字颜色不一致。 主要是用ForegroundColorSpan这个API来传入颜色值用SpannableString来设置指定索引下标的字的颜色值。 这里通过给定一个输入文字描述框要求输入指定下标输入格式类似于1,3,4,6。输入数字同时用英文逗号隔开只要点击按钮提交以后则来改变显示的字体颜色。 布局文件如下所示 ?xml version1.0 encodingutf-8? androidx.constraintlayout.widget.ConstraintLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.MainActivityEditTextandroid:idid/edit_numandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:hint输入下标例如 1,3,5tools:ignoreMissingConstraints/EditTextButtonandroid:idid/submitandroid:text提交android:layout_widthwrap_contentandroid:layout_heightwrap_contentapp:layout_constraintBottom_toBottomOfparentapp:layout_constraintEnd_toEndOfparentapp:layout_constraintHorizontal_bias0.467app:layout_constraintStart_toStartOfparentapp:layout_constraintTop_toTopOfid/edit_numapp:layout_constraintVertical_bias0.26tools:ignoreMissingConstraints/ButtonTextViewandroid:idid/text_viewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textHelloWorldapp:layout_constraintBottom_toBottomOfparentapp:layout_constraintEnd_toEndOfparentapp:layout_constraintStart_toStartOfparentapp:layout_constraintTop_toTopOfparent //androidx.constraintlayout.widget.ConstraintLayout MainActivity如下所示 import android.graphics.Color import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.text.Spannable import android.text.SpannableString import android.text.style.ForegroundColorSpan import android.widget.Button import android.widget.EditText import android.widget.TextViewclass MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val indexInput findViewByIdEditText(R.id.edit_num)val textView findViewByIdTextView(R.id.text_view)val buttonSubmit findViewByIdButton(R.id.submit)val originalText HelloWorld 测试文字颜色变化// 初始化显示原始文本textView.text originalTextbuttonSubmit.setOnClickListener {val s indexInput.textval strArray s?.toString()val indexArray strArray?.split(,)val len indexArray?.size ?: 20val indexNumArray IntArray(len){0}// 创建 SpannableStringval spannableString SpannableString(originalText)indexArray?.let {for (i in indexArray.indices) {indexNumArray[i] Integer.parseInt(indexArray[i])val idx indexNumArray[i]// 检查下标是否有效避免越界错误if (idx in originalText.indices) {// 为每个字符创建一个新的 ForegroundColorSpanval redColorSpan ForegroundColorSpan(Color.RED)spannableString.setSpan(redColorSpan,idx,idx 1,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)}}}textView.text spannableString}} } 其中这里有个需要注意的是 如果需要多次变更字体颜色需要把ForegroundColorSpan设置在循环体内。如果把ForegroundColorSpan放在循环体外则只有最后一个字会生效。错误示例如下 val redColorSpan ForegroundColorSpan(Color.RED)indexArray?.let {for (i in indexArray.indices) {indexNumArray[i] Integer.parseInt(indexArray[i])val idx indexNumArray[i]spannableString.setSpan(redColorSpan, idx, idx 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) // 第index个字}} 问题原因 你在循环中对每个字符的位置都应用了相同的 ForegroundColorSpan红色并且每次调用 setSpan 时该 Span 会替换之前的位置上的 Span导致只有最后一个字符保持红色。 解决方案 为了解决这个问题确保为每个字符应用不同的颜色时不要覆盖先前的 Span。可以通过创建一个新的 ForegroundColorSpan 实例并在每次 setSpan 时分别应用。 关键更改 确保每次 setSpan 使用新的 ForegroundColorSpan 对象 在每次循环中创建一个新的 ForegroundColorSpan 实例确保不会覆盖先前的颜色设置。下标校验 在 setSpan 之前确保你所提供的下标值是合法的避免越界问题idx in 0 until originalText.length。IntArray 初始化 使用 IntArray 来存储转换后的下标值并确保在处理时进行合理的范围检查。 效果 当用户输入下标例如 1,3,5然后点击按钮时指定下标的字符将正确变为红色不会再出现只有最后一个字符变色的情况。
http://www.hkea.cn/news/14403262/

相关文章:

  • zen cart 网站google plus保定哪个公司做网站好
  • 东莞网站建设基本流程网站建设案例精粹
  • 什么行业愿意做网站php网站挂马
  • 农村电商网站建设做淘宝客网站好搭建吗
  • 无锡做网站哪个公司好找承包工程的平台
  • 株洲网站建设设计版面设计网站有哪些
  • 某企业网站建设方案论文在中国建的网站google可收录吗
  • 做网站卖仿品专业做网站建设
  • 网站开发流行昆明网站建设哪家公司好
  • 先做网站还是先备案月编程做网站
  • 营销型网站建设优化贵州城乡住房建设网站
  • 网站建设如何做wordpress 支付宝接入
  • 网站内容结构如何建立公司网站多少钱
  • 创建了网站公司网站建设开发维护工作
  • 山东中讯做网站怎么样wordpress 过滤html代码
  • 医疗保险网站开通建设销售方案
  • 北京市著名的网站制作公司大岭山做网站
  • 网站编程需要什么语言重庆seo网站设计
  • 做网站后台用什么语言好网站作业成品
  • 永兴县网站建设推广公司河北建设集团官方网站
  • 建设银行网站上的的研究报告资讯门户 wordpress
  • 公众号和网站先做哪个ps企业网站模板
  • 专业网站优化排名百度权重等级
  • 网站开发和 app开发的区别美食网站开发的意义
  • 茌平做网站推广备份整个网站
  • 德宏州乡城建设局网站律师做网站
  • 《网站建设 补充合同学校网站建设项目可行性分析报告
  • 建设学校网站方案外包建设网站服务
  • 移动网站打不开解决办法网络销售培训学校
  • 网站怎么建立视频百度旗下推广平台有哪些