这里写自定义目录标题

照着demo写的,文字点击不生效,闪退
demo源文链接:https://blog.csdn.net/zhongfangguiyishi/article/details/104743448

privacyactivity.java贴的mainactivity.java
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.TextPaint;
import android.text.method.LinkMovementMethod;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.ClickableSpan;
import android.text.style.ForegroundColorSpan;
import android.view.Display;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import com.batterysaver.phonecleaner.charge.R;

public class PrivacyActivity extends AppCompatActivity {
private String SP_PRIVACY = “sp_privacy”;
private String SP_VERSION_CODE = “sp_version_code”;
private boolean isCheckPrivacy = false;
private long versionCode;
private long currentVersionCode;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_privacy);
check();
}

/*** 显示隐私政策或跳转到其他界面*/
private void check() {//先判断是否显示了隐私政策currentVersionCode = AppUtil.getAppVersionCode(PrivacyActivity.this);versionCode = (long) SPUtil.get(PrivacyActivity.this, SP_VERSION_CODE, 0L);isCheckPrivacy = (boolean) SPUtil.get(PrivacyActivity.this, SP_PRIVACY, false);if (!isCheckPrivacy || versionCode != currentVersionCode) {showPrivacy();} else {//    Toast.makeText(PrivacyActivity.this, getString(R.string.confirmed), Toast.LENGTH_SHORT).show();startActivity(new Intent(PrivacyActivity.this, SplashActivity.class));}
}/*** 显示用户协议和隐私政策*/
private void showPrivacy() {final PrivacyDialog dialog = new PrivacyDialog(PrivacyActivity.this);TextView tv_privacy_tips = dialog.findViewById(R.id.tv_privacy_tips);TextView btn_exit = dialog.findViewById(R.id.btn_exit);TextView btn_enter = dialog.findViewById(R.id.btn_enter);dialog.show();String string = getResources().getString(R.string.privacy_tips);String key1 = getResources().getString(R.string.privacy_tips_key1);String key2 = getResources().getString(R.string.privacy_tips_key2);int index1 = string.indexOf(key1);int index2 = string.indexOf(key2);//需要显示的字串SpannableString spannedString = new SpannableString(string);//设置点击字体颜色ForegroundColorSpan colorSpan1 = new ForegroundColorSpan(getResources().getColor(R.color.colorBlue));spannedString.setSpan(colorSpan1, index1, index1 + key1.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);ForegroundColorSpan colorSpan2 = new ForegroundColorSpan(getResources().getColor(R.color.colorBlue));spannedString.setSpan(colorSpan2, index2, index2 + key2.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);//设置点击字体大小AbsoluteSizeSpan sizeSpan1 = new AbsoluteSizeSpan(18, true);spannedString.setSpan(sizeSpan1, index1, index1 + key1.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);AbsoluteSizeSpan sizeSpan2 = new AbsoluteSizeSpan(18, true);spannedString.setSpan(sizeSpan2, index2, index2 + key2.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);//设置点击事件ClickableSpan clickableSpan1 = new ClickableSpan() {@Overridepublic void onClick(View view) {Intent intent = new Intent(PrivacyActivity.this, TermsActivity.class);startActivity(intent);}@Overridepublic void updateDrawState(TextPaint ds) {//点击事件去掉下划线ds.setUnderlineText(false);}};spannedString.setSpan(clickableSpan1, index1, index1 + key1.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);ClickableSpan clickableSpan2 = new ClickableSpan() {@Overridepublic void onClick(View view) {Intent intent = new Intent(PrivacyActivity.this, PrivacyPolicyActivity.class);startActivity(intent);}@Overridepublic void updateDrawState(TextPaint ds) {//点击事件去掉下划线ds.setUnderlineText(false);}};spannedString.setSpan(clickableSpan2, index2, index2 + key2.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);//设置点击后的颜色为透明,否则会一直出现高亮tv_privacy_tips.setHighlightColor(Color.TRANSPARENT);//开始响应点击事件tv_privacy_tips.setMovementMethod(LinkMovementMethod.getInstance());//  clickableSpan2.setMovementMethod(LinkMovementMethod.getInstance());tv_privacy_tips.setText(spannedString);//设置弹框宽度占屏幕的80%WindowManager m = getWindowManager();Display defaultDisplay = m.getDefaultDisplay();final WindowManager.LayoutParams params = dialog.getWindow().getAttributes();params.width = (int) (defaultDisplay.getWidth() * 0.80);dialog.getWindow().setAttributes(params);btn_exit.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {dialog.dismiss();SPUtil.put(PrivacyActivity.this, SP_VERSION_CODE, currentVersionCode);SPUtil.put(PrivacyActivity.this, SP_PRIVACY, false);finish();}});btn_enter.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {dialog.dismiss();SPUtil.put(PrivacyActivity.this, SP_VERSION_CODE, currentVersionCode);SPUtil.put(PrivacyActivity.this, SP_PRIVACY, true);//        Toast.makeText(PrivacyActivity.this, getString(R.string.confirmed), Toast.LENGTH_SHORT).show();Intent intent = new Intent(PrivacyActivity.this, SplashActivity.class);startActivity(intent);}});}
protected void onDestroy() {super.onDestroy();
}

}

xml:

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android=“http://schemas.android.com/apk/res/android”
xmlns:app=“http://schemas.android.com/apk/res-auto”
xmlns:tools=“http://schemas.android.com/tools”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
tools:context=“activity.PrivacyActivity”>

</androidx.constraintlayout.widget.ConstraintLayout>

textview文字链接无法点击相关推荐

  1. android 字体点击变色,Android TextView 中实现部分文字变色以及点击事件

    首先要想实现文字变色以及点击,都需要使用到SpannableStringBuilder,实例化该类也很简单,只需将你想要处理的字符串当做参数 SpannableStringBuilder spanna ...

  2. 文字链接_新生命道目录及音频、文字链接(20200501更新)

    新生命的道目录 (希儿分享)     "音频"和"文字版"是在公众号发布的对应讲道的音频.文字版链接,弟兄姊妹可点击链接收听.阅读.荣耀归于主!APP网页链接和 ...

  3. HTML5 Canvas中实现文字链接

    HTML5中没有关于链接的API,所以我们只有自己来实现了. 首先,我们来想一下,链接有什么特点.第一个想到的估计就是它能跳转,这是链接最显著的特点,当然这也是废话,要不怎么能叫链接?第二个想到的可能 ...

  4. android studio app字体大小设置,Android Studio App设置TextView文字内容大小颜色

    设置TextView文字内容大小颜色 1.第一种方法在activity_main.xml李设置,Java文件不用改: android:text="这里是文字" android:te ...

  5. 0005 前端 Html 04 AutoFileName 图片的显示 文字链接 图片链接 页面内链接 列表 加超链接的列表

    以下为学习笔记,用来备忘.交流 工具:Sublime Text 3 渲染:谷歌浏览器 AutoFileName工具的安装 安装过程参见添加Emmet插件 参考我上面安装Emmet插件的过程,基本一样. ...

  6. 文字html广告,文字链接广告

    文字链接广告[编辑] 概述 文字链接广告是一种只有文字的广告,点击可以进入相应的广告页面.了解其特点.原则.适用性以及相关的制作能够有效提升广告的适用效率. 一.简介 文本链接广告是以一排文字作为一个 ...

  7. 链接被点击的默认行为——带到另一个窗口

    图片链接被点击时,默认会被带到图片查看窗口. 在给某个元素添加了事件处理函数后,一旦事件发生,相应的JavaScript代码就会得到执行.被调用的javascript函数可以返回一个值,这个值将被传递 ...

  8. 设置TextView文字

    有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_TxtTitle.setGravity( ...

  9. NEC学习 ---- 模块 - 带点文字链接列表

    带点文字链接列表, 实现的效果是, 调整字体大小, 点的位置不会跟着变动. HTML如下: <div class="container"><div class=& ...

最新文章

  1. SpringBoot第十三篇:springboot集成spring cache
  2. 浅谈MVC Form认证
  3. 微信小程序:生命周期
  4. Git学习总结(22)——Git 常用操作再总结
  5. 搜索文献_搜索参考文献?6个搜索小技巧,搞科研需知!
  6. SVN更新无数次后仍显示Out of date
  7. 创建表时参数PCTFREE和PCTUSED是什么意思?
  8. 【物理应用】基于matlab双目视觉三维重建【含Matlab源码 1781期】
  9. 海康rtsp抓包分析
  10. 体制内名校生和普校生发展有无差别?看懂这3个潜规则,越混越好
  11. 计算机视觉领域专家主页代码
  12. u盘中毒了怎么恢复文件?一分钟了解恢复方法
  13. PHP图书信息表books,创建一个图书表
  14. _032_rationalRose_包图的画法
  15. 新年Java小游戏之「年兽大作战」祝您笑口常开
  16. HUAWEI MateBook Fn 功能键/热键切换、设置方法
  17. 图论典型问题--握手定理
  18. 山药玉米排骨汤:非常美味,也营养健康
  19. WPF实现DNA螺旋粒子动画特效
  20. 中国现代服务业发展趋势及十四五战略模式研究报告2021-2027年

热门文章

  1. Windwos命令工作笔记002---windows下tree命令列出文件目录打印到文件中_过滤文件不知道怎么做啊
  2. Linux学习笔记008---Centos7中Couldn't resolve host 'mirrorlist.centos.org'
  3. VC下ctreectrl的使用方法及节点前图标添加方法
  4. linux终端 介绍,全面介绍Linux终端命令(二)
  5. 基于51单片机的函数信号发生器
  6. linux 内核配置v4l2,深入理解linux内核v4l2框架之videobuf2【转】
  7. c语言学生综合测评系统_综合测评线上系统帮助文档
  8. 计算机专业考研学习,计算机专业考研133分复习经验谈
  9. RESTFfu l规范 以及理解
  10. Spring Boot + Log4j2 日志框架配置 (Maven)