实现部分可点击的TextView
程序员文章站
2022-05-12 16:12:12
...
参考链接:https://www.runoob.com/w3cnote/android-tutorial-textview.html
实现效果:
实现:
protocolTextView.setMovementMethod(LinkMovementMethod.getInstance());
protocolTextView.setText(getContent(), TextView.BufferType.SPANNABLE);
private SpannableStringBuilder getContent() {
List<String> protocols = new ArrayList<>();
protocols.add("银行隐私协议");
protocols.add("银行隐私政策");
protocols.add("积分使用规则");
protocols.add("活动规则");
protocols.add("保险条款");
protocols.add("服务协议");
protocols.add("投保须知");
SpannableStringBuilder content = new SpannableStringBuilder();
for (int i = 0; i < protocols.size(); i++) {
content.append(protocols.get(i));
}
int start = 0;
for (int i = 0; i < protocols.size(); i++) {
final int index = i;
final String name = protocols.get(i);
content.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(getActivity(), name,
Toast.LENGTH_SHORT).show();
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setColor(index == 4 ? Color.RED : Color.GRAY);
}
}, start, start + name.length(), 0);
start = start + name.length();
}
return content;
}
推荐阅读
-
vue实现可视化可拖放的自定义表单的示例代码
-
Android使用内置WebView打开TextView超链接的实现方法
-
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
-
TextView使用SpannableString设置复合文本 SpannableString实现TextView的链接效果
-
TextView实现图文混合编排的方法
-
Android编程实现点击EditText之外的控件隐藏软键盘功能
-
Android TextView实现带链接文字事件监听的三种常用方式示例
-
Android 实现不同字体颜色的TextView实现代码
-
Android使用Activity实现简单的可输入对话框
-
Android 点击ImageButton时有“按下”的效果的实现