1 Star 3 Fork 0

东顾/DeveloperLab

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
app
src
androidTest/java/com/example/developerlab
main
java/com/example/developerlab
ActivityCompatPermissionTestActivity.java
ActivityPermissionTestActivity.java
AudioManagerTest.java
CalendarActivity.java
CustomDialog.java
CustomizedDialog.java
EasyPermissionTestActivity.java
FragmentPermission.java
MainActivity.java
PicUtils.java
TextViewSpanActivity.java
WebViewActivity.java
res
AndroidManifest.xml
test/java/com/example/developerlab
.gitignore
build.gradle
proguard-rules.pro
gradle/wrapper
.gitignore
build.gradle
gradle.properties
gradlew
gradlew.bat
settings.gradle
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
TextViewSpanActivity.java 1.90 KB
一键复制 编辑 原始数据 按行查看 历史
package com.example.developerlab;
import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.text.style.StyleSpan;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
public class TextViewSpanActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_textviewspan);
TextView tv = findViewById(R.id.tv_testContent);
String clickString = "《用户须知》"; // 设置文本点击事件
String message = tv.getText().toString();
SpannableStringBuilder builder = new SpannableStringBuilder(message);
builder.setSpan(new ClickableSpan() {
@Override
public void onClick(@NonNull View widget) {
Toast.makeText(TextViewSpanActivity.this,
getResources().getText(R.string.warning_content),
Toast.LENGTH_SHORT).show();
}
@Override
public void updateDrawState(@NonNull TextPaint ds) {
ds.setColor(ds.linkColor);
// 删除下划线
ds.setUnderlineText(false);
}
}
, message.indexOf(clickString),
message.indexOf(clickString) + clickString.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
String boldString = "尊敬的用户:"; // 设置文本加粗
builder.setSpan(new StyleSpan(Typeface.BOLD), message.indexOf(boldString),
message.indexOf(boldString) + boldString.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setMovementMethod(LinkMovementMethod.getInstance());
tv.setHighlightColor(getResources().getColor(R.color.purple_700, getTheme()));
tv.setText(builder);
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/kiba03/DeveloperLab.git
git@gitee.com:kiba03/DeveloperLab.git
kiba03
DeveloperLab
DeveloperLab
master

搜索帮助