在本文中,我们将详细介绍有没有一种快速的方法来识别String或TextView中的HTMLASCII代码?的各个方面,并为您提供关于识别字符串的相关解答,同时,我们也将为您带来关于AndroidTe
在本文中,我们将详细介绍有没有一种快速的方法来识别String或TextView中的HTML ASCII代码?的各个方面,并为您提供关于识别字符串的相关解答,同时,我们也将为您带来关于Android Textview中的HTML样式错误、android – 有没有一种简单的方法可以在ListView中拖动项目来改变它们的顺序?、Android在TextView中设置局部文字的样式(HTML和SpannableString两种方式)、cocoa – 有没有一种智能的方法来处理NSScrollView中的视图交换/重用?的有用知识。
本文目录一览:- 有没有一种快速的方法来识别String或TextView中的HTML ASCII代码?(识别字符串)
- Android Textview中的HTML样式错误
- android – 有没有一种简单的方法可以在ListView中拖动项目来改变它们的顺序?
- Android在TextView中设置局部文字的样式(HTML和SpannableString两种方式)
- cocoa – 有没有一种智能的方法来处理NSScrollView中的视图交换/重用?
有没有一种快速的方法来识别String或TextView中的HTML ASCII代码?(识别字符串)
以下是一些HTML ASCII代码:
http://www.ascii.cl/htmlcodes.htm
我有一个看起来像的字符串 "All in a hard day 's work"
用撇号替换该ascii代码的最佳方法是什么?
Android Textview中的HTML样式错误
我正在选择TextView的一部分,并单击“突出显示”按钮,然后将选择的开始和结束索引发送到数据库.然后,我从db加载所有开始索引和结束索引,并更改它们之间的文本颜色.
问题是一两次后,应用程序正在更改未处于选中状态的文本的颜色.并且所选部分保持不变.
我的密码:
>当用户选择并按下突出显示按钮时
int i=contentText.getSelectionStart();
int j=contentText.getSelectionEnd();
db.insertHiglightIndex(String.valueOf(i),String.valueOf(j));
setHighlightedText();
> setHighlightedText()方法.
String fullText=contentText.getText().toString();
for(int i=0; i<db.getAllStartIndex().size();i++){
String a=fullText.substring(Integer.parseInt(db.getAllStartIndex().get(i)),Integer.parseInt(db.getAllEndindex().get(i)));
fullText = fullText.replace(a, "<font color='red'>"+a+"</font>");
}
contentText.setText(Html.fromHtml(fullText), TextView.BufferType.SPANNABLE);
我的画面.
选择:
结果:
显然,所选区域是从“加里克”到“巴特”,结果是从“实体”到“ 2012”
我不明白为什么会这样.我认为此< font color ='red'>“和”< / font>线.
谢谢
解决方法:
索引错误,因为已经添加了< font color ='red'>首先,以至于第二次将此标记也计为字符串的一部分,因此,我建议创建一个新的临时String,将相同的文本分配给String,但在替换之前保留的字体标签之后.使用此语法从originalString中删除以前的字体标签
String tempString = originalString.replaceAll("[<](/)?font[^>]*[>]", "");
之后,仅使用tempString.这意味着再次将您必须拥有的每个先前的字体标签添加到tempString并设置该文本.
在下一次再次执行相同操作时,首先删除所有字体标签,然后再次将所有字体标签添加回tempString以及使用当前使用的同一循环的当前选择中.
android – 有没有一种简单的方法可以在ListView中拖动项目来改变它们的顺序?
假设我有一个ListView项目:
>猫
>狗
>鼠标
这些通过适配器绑定到ListView到数据库.
我希望能够做的是能够重新排序列表视图.例如,我想以某种方式将“鼠标”拖动到“猫”上方列表的顶部.一旦我订购了订单,我就想将列表及其订单“保存”回数据库.
有没有办法做到这一点?有人制作了我可以使用的自定义ListView吗?我能想到的唯一选择是长按列表视图项并有一个“向上移动”,“移到顶部”等上下文菜单,在列表中移动项目.
解决方法:
Android的音乐应用程序通过播放列表实现这一点.
检查它的源代码here.
Android在TextView中设置局部文字的样式(HTML和SpannableString两种方式)
HTML
private fun setTextStyleWithHtml(tvTest: TextView) {
val text = "Html,测试<u>下划线</u>、<i>斜体字</i>、<font color='red'>红色字</font>的格式"
tvTest.text = Html.fromHtml(text)
}
SpannableString
- Spanned.SPAN_EXCLUSIVE_EXCLUSIVE等的作用:
用来标识在 Span 范围内的文本前后输入新的字符时是否把它们也应用这个效果。分别有 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前后都不包括)、Spanned.SPAN_INCLUSIVE_EXCLUSIVE(前面包括,后面不包括)、Spanned.SPAN_EXCLUSIVE_INCLUSIVE(前面不包括,后面包括)、Spanned.SPAN_INCLUSIVE_INCLUSIVE(前后都包括)。
private fun setTextStyleWithSpan(tvTest: TextView){
//创建一个 SpannableString对象
val msp = SpannableString("字体测试字体大小一半两倍前景色背景色正常粗体斜体粗斜体下划线删除线x1x2电话邮件网站短信彩信地图X轴综合")
//设置字体(default,default-bold,monospace,serif,sans-serif)
msp.setSpan(TypefaceSpan("monospace"), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
msp.setSpan(TypefaceSpan("serif"), 2, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
//设置字体大小(绝对值,单位:像素)
msp.setSpan(AbsoluteSizeSpan(20), 4, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
msp.setSpan(AbsoluteSizeSpan(20, true), 6, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //第二个参数boolean dip,如果为true,表示前面的字体大小单位为dip,否则为像素,同上。
//设置字体大小(相对值,单位:像素) 参数表示为默认字体大小的多少倍
msp.setSpan(RelativeSizeSpan(0.5f), 8, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //0.5f表示默认字体大小的一半
msp.setSpan(RelativeSizeSpan(2.0f), 10, 12, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //2.0f表示默认字体大小的两倍
//设置字体前景色
msp.setSpan(ForegroundColorSpan(Color.magenta), 12, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //设置前景色为洋红色
//设置字体背景色
msp.setSpan(BackgroundColorSpan(Color.CYAN), 15, 18, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //设置背景色为青色
//设置字体样式正常,粗体,斜体,粗斜体
msp.setSpan(StyleSpan(Typeface.norMAL), 18, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //正常
msp.setSpan(StyleSpan(Typeface.BOLD), 20, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //粗体
msp.setSpan(StyleSpan(Typeface.ITALIC), 22, 24, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //斜体
msp.setSpan(StyleSpan(Typeface.BOLD_ITALIC), 24, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //粗斜体
//设置下划线
msp.setSpan(Underlinespan(), 27, 30, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
//设置删除线
msp.setSpan(StrikethroughSpan(), 30, 33, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
//设置上下标
msp.setSpan(SubscriptSpan(), 34, 35, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //下标
msp.setSpan(SuperscriptSpan(), 36, 37, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //上标
//超级链接(需要添加setMovementMethod方法附加响应)
msp.setSpan(URLSpan("tel:4155551212"), 37, 39, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //电话
msp.setSpan(ForegroundColorSpan(Color.BLUE), 37, 39, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
msp.setSpan(URLSpan("mailto:webmaster@google.com"), 39, 41, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //邮件
msp.setSpan(ForegroundColorSpan(Color.YELLOW), 39, 41, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
msp.setSpan(URLSpan("http://www.baidu.com"), 41, 43, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //网络
msp.setSpan(ForegroundColorSpan(Color.GREEN), 41, 43, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
msp.setSpan(URLSpan("sms:4155551212"), 43, 45, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //短信 使用sms:或者smsto:
msp.setSpan(ForegroundColorSpan(Color.RED), 43, 45, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
msp.setSpan(URLSpan("mms:4155551212"), 45, 47, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //彩信 使用mms:或者mmsto:
msp.setSpan(ForegroundColorSpan(Color.CYAN), 45, 47, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
msp.setSpan(URLSpan("geo:38.899533,-77.036476"), 47, 49, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //地图
//设置字体大小(相对值,单位:像素) 参数表示为默认字体宽度的多少倍
msp.setSpan(ScaleXSpan(2.0f), 49, 51, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) //2.0f表示默认字体宽度的两倍,即X轴方向放大为默认字体的两倍,而高度不变
//SpannableString对象设置给TextView
tvTest.text = msp
//设置TextView可点击
tvTest.movementMethod = LinkMovementMethod.getInstance();
}
cocoa – 有没有一种智能的方法来处理NSScrollView中的视图交换/重用?
我正在Cocoa / Objective-C中构建一个基于视图的NSTableView-esque控件,它提供了易于使用的UITableView,能够在Interface Builder中布局视图,而不是尝试子类化NSCell.它的资源也很聪明,因为它采用了类似UITableView的类似可重用单元格范例.当然,这都是在NSScrollView内部完成的.
我已经完成了大部分棘手的视图交换,并且正在工作.滚动时,如果视图被完全剪切,则会将其添加到未使用的视图池中.类似地,如果未显示的视图进入可查看区域,它会尝试从未使用的池中获取视图,如果没有可用,则会从持有视图原型的nib创建一个新视图.
类似的解决方案确实存在,但我喜欢修修补补,我很乐意自己实施:).但是,我不知道处理这个问题的解决方案,我需要一些建议!
问题:
例如,假设每个视图都包含一个文本字段.如果正在编辑文本字段,并且用户开始滚动,我希望该单元格不会被释放到池中,以便它不会“失去焦点”,或者“聚焦”到新显示的视图重用已发布的那个.是否有一种智能方法可以将视图标记为正在编辑而无需创建自定义视图的程序员拦截事件,并将其标记为?
感谢您的帮助!
解决方法
NSEditorRegistration
非正式协议.它旨在处理这个问题.
今天的关于有没有一种快速的方法来识别String或TextView中的HTML ASCII代码?和识别字符串的分享已经结束,谢谢您的关注,如果想了解更多关于Android Textview中的HTML样式错误、android – 有没有一种简单的方法可以在ListView中拖动项目来改变它们的顺序?、Android在TextView中设置局部文字的样式(HTML和SpannableString两种方式)、cocoa – 有没有一种智能的方法来处理NSScrollView中的视图交换/重用?的相关知识,请在本站进行查询。
本文标签: