在TextView中不仅可以设置链接类型,而且可以自定义链接类型和相关操作。原理是自定义ClickableSpan来绘制可点击文本的效果和点击后的处理,然后设置TextView的ClickableSpan为自定义的ClickableSpan即可。
自定义ClickableSpan:
private class CustomizedClickableSpan extends ClickableSpan { String text; public CustomizedClickableSpan(String text) { super(); this.text = text; } @Override public void updateDrawState(TextPaint ds) { // ds.setColor(ds.linkColor); ds.setColor(Color.GREEN); // ds.setUnderlineText(false); ds.setAlpha(50); } @Override public void onClick(View widget) { Toast.makeText(ClipboardTestActivity.this, text, Toast.LENGTH_SHORT).show(); } }
测试代码:
TextView textView03 = (TextView) findViewById(R.id.textView3); String str = "AAAAAAAAAAAAAAA"; SpannableString spStr = new SpannableString(str); ClickableSpan clickSpan = new CustomizedClickableSpan(str); spStr.setSpan(clickSpan, 0, str.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); textView03.setText("CCCC"); textView03.append(spStr); textView03.append("BBBB"); textView03.setMovementMethod(LinkMovementMethod.getInstance());
相关推荐
当使用android:autoLink或Linkify.addLinks将链接添加到TextView时,Android使用称为LinkMovementMethod的类来突出显示焦点时的链接,并在单击它们时分派Intent。 BetterLinkMovementMethod改善了...
自定义拍照会用到SurfaceView控件显示照片的预览区域,以下是布局文件: 两个TextView是用来显示提示信息和倒计时的秒数的 相关教程:Android开发从相机或相册获取图片裁剪 Android启动相机拍照并返回图片 <...
可以在一个固定宽度的区域显示多个不定长度的字符串,类似于淘宝上商品详情的尺码和颜色分类那种。
大家知道,横向的跑马灯android自带的TextView就可以实现,详情请百度【Android跑马灯效果】。但是竖直的跑马灯效果原生Android是不支持的。网上也有很多网友实现了自定义的效果,但是我一贯是不喜欢看别人的代码,...
FrameLayout 帧布局、框架布局 创建一个空白区域, 一个区域成为一帧 TableLayout 表格布局 采用 行, 列 形式管理子组件,添加TableRow 和 组件 就可以控制表格的行数和列数 GridLayout 网格布局 设置行列来装填控件 ...
(自定义TextView,用于欢迎页跳过图标) */ public class CircleTextProgressbar extends android.support.v7.widget.AppCompatTextView { /** * 外部轮廓的颜色。 */ private int outLineColor = Color.BLACK;...
高亮区域支持自定义大小、操作灵活 顺应变化,基于Android X 配置简单,导入方便 Installation: dependencies { implementation 'com.qw:curtain:0.0.9' } Usage: 仅仅是高亮某个View private void showCurtain()...
该项目对 XML 布局文件中的占位符进行自定义 lint 检查。 什么是占位符? 占位符是在设计时使用但在运行时被特定值替换的文本。 假设您有一个 TextView,例如显示订单号。 订单号在设计时不存在,但会在运行时显示...
android实现日历模式下的时间区域的选择,选择两个时间取中间时间区间,使用viewpager与自定义的linearLayout和TextView实现日历下的选择时间段
实现思路其实很简单,就是一个自定义的LinearLayout,并且textView能够循环垂直滚动,而且条目可以点击,显示区域最多显示2个条目,并且还有交替的属性垂直移动的动画效果,通过线程来控制滚动的实现。 不多说看...