android隐私协议组件,Android 服务协议隐私政策高亮可点击写法_weixin_39739661的博客-程序员宅基地

技术标签: android隐私协议组件  

private fun setText() {

//拼接字符串

val spanBuilder = SpannableStringBuilder("同意")

/**

* 服务协议

*/

var span = SpannableString("服务协议")

//服务协议点击事件

span.setSpan(object : ClickableSpan() {

override fun onClick(widget: View) {

Toast.makeText([email protected],"服务协议",Toast.LENGTH_SHORT).show()

}

}, 0, span.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)

//设置颜色、下划线

span.setSpan(

ForegroundColorSpan(Color.parseColor("#D1894A")),

0,

span.length,

Spanned.SPAN_EXCLUSIVE_EXCLUSIVE

)

spanBuilder.append(span)

spanBuilder.append("与")

/**

* 隐私政策

*/

span = SpannableString("隐私政策")

span.setSpan(object : ClickableSpan() {

override fun onClick(widget: View) {

Toast.makeText([email protected],"隐私政策",Toast.LENGTH_SHORT).show()

}

}, 0, span.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)

span.setSpan(

ForegroundColorSpan(Color.parseColor("#D1894A")),

0,

span.length,

Spanned.SPAN_EXCLUSIVE_EXCLUSIVE

)

spanBuilder.append(span)

// 赋值给TextView

tv_service_agreement.movementMethod = LinkMovementMethod.getInstance()

tv_service_agreement.text = spanBuilder

//设置高亮颜色透明,因为点击会变色

tv_service_agreement.highlightColor = ContextCompat.getColor(applicationContext, R.color.transparent)

}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39739661/article/details/117530757

智能推荐

java基本类型和包装器类【转】_call_from_dream的博客-程序员宅基地

简要讲述java基本类型和包装类型,为装箱和拆箱的学习做准备

android word解析,Android中解析读取复杂word,excel,ppt等的方法_weixin_39534002的博客-程序员宅基地

【实例简介】Android里通过POI包将word,excel等转换为html代码进行展示【实例截图】【核心代码】read└── readPOI├── AndroidManifest.xml├── assets│ └── example.docx├── bin│ ├── AndroidManifest.xml│ ├── classes│ │ └── com│ │ ...

Java maven学习笔记_凌空暗羽的博客-程序员宅基地_java maven学习

maven学习笔记1.引言2.什么是maven?3.maven环境配置4.maven项目创建与运行5.maven的附加概念介绍5.1maven仓库的种类5.2项目开发版本简称5.3maven 项目打包6maven项目的多模块开发参考文献1.引言    莫名其妙的自己就学上了全栈开发,其实说真的,自己也是有点小纠结的。害怕自己学多了多而不精,毕竟自己有点爱玩,学东西有些浮躁。以前学前端学到一般发现自己没有接口,后来学了那“传说中最美的语言——php”并且学习了相关的thinkPHP框架。但是随着php逐渐

中小企业如何实现ITIL_weixin_34162629的博客-程序员宅基地

什么是ITIL?ITIL(信息技术基础设施库)是Information Technology Infrastructure Library的缩写。ITIL是英国政府中央计算机与电信管理中心(CCTA)在20世纪90年代初期发布的一套IT服务管理最佳实践指南,旨在解决IT服务质量不佳的情况。在此之后,CCTA又在HP、IBM、BMC、CA、Peregr...

fufu笔记之多线程_一只java小白白的奋斗史的博客-程序员宅基地

1.多线程概述进程:App,一个类文件线程:App的功能,类里的一个方法2线程的核心概念线程就是独立的执行路径在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程;main()称之为主线程,为系统的入口用于执行整个程序在一个进程中,如果开辟了多个线程,线程的运行由调度器安排带调度,调度器是与操作系统紧密相关的,先后顺序是不能人为干预的对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制线程会带来额外的开销,如cpu调度时间,并发控制开销每个线程在自己的工作

Oracle数据库的备份与规复_weixin_30257433的博客-程序员宅基地

滥觞:网海拾贝 ---- 当我们运用一个数据库时,总渴望数据库的内容是牢靠的、切确的,但因为计较机零碎的偏差(包孕呆板偏差、介质偏差、误使用等),数据库无意也可以遭到破损,这时怎样尽快规单数据就成为燃眉之急。假如往常对数据库做了备份,那么此时规单数据就显得很轻易。由此可见,做好数据库的备份是何等的重要,下面笔者就以ORACLE7为例,来讲演一下数据库的备份和规复。OR...

随便推点

tensorflow生成deeplab v3+的tfrecord的时候报错:Failed to find all Cityscapes modules_古月光军001的博客-程序员宅基地

在网上照着大神的博客用CityScapes的数据集训练deeplab V3+的时候,一步一步照着别人的方法弄,弄到生成tfrecord的时候突然报错:Failed to find all Cityscapes modules。这个错误是从csHelpers.py里面报出来的就是因为from annotation import Annotation这个语句出错,才报的Failed to fi...

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179) [_csding11的博客-程序员宅基地

想把hadoop102机器上的环境变量分发给hadoop103和hadoop104,xsync /etc/profile.d/my_env.sh,这里的xsync是自己的分发脚本#!/bin/bash#1. 判断参数个数if [ $# -lt 1 ]then echo Not Enough Arguement! exit;fi#2. 遍历集群所有机器for host in hadoop102 hadoop103 hadoop104do echo =========== $host

mooc网站html CSS,HTML和CSS基础_悟无误的博客-程序员宅基地

课程概况HTML и CSS — языки, с помощью которых верстают страницы в интернете. Овладеть основами этих языков совсем нетрудно — это первый шаг к профессии веб-разработчика.Вначале вы узнаете, как работать со...

数据分析中的统计学基础知识_宋懵懵的数据生活的博客-程序员宅基地_数据分析统计知识

统计学在我们生活中其实运用面还挺广的,比如社会调查的结果分析都会运用到统计学的知识。我们今天就来分享一下统计学的一些基础的知识。大致而言,统计学由“描述统计”和“推论统计”两部分构成。描述统计就是从取得的数据中抽取其特征的技术。推论统计是将统计学与概率理论相结合。对“无法整体把握的大的对象”或“还未发生而未来会发生的事情”进行推测。一、描述统计1、平均值平均值就是用数据的合计除以数据的个数平均数还可以通过以下公式求得平均数=组值×相对频数的合计2 、方差.

python爬虫 提取豆瓣Top250电影信息_FouforPast的博客-程序员宅基地

思路很简单,先将原网页爬取出来,然后用正则表达式和BeautifulSoup两种方法提取想要的信息,这里暂时先只爬取电影名、导演、评分和标语。import reimport csvimport requestsfrom bs4 import BeautifulSoupfrom urllib.parse import urlencoderoot = 'https://movie.douban.com/top250'para = {'start': 0, 'filter': ''}header

todolist_qq_21696621的博客-程序员宅基地

最基本的一个todolist,涉及基本的组件通信。效果如下:index.jsimport React from 'react';import ReactDOM from 'react-dom';import './index.css';import TodoList from './TodoList';import * as serviceWorker from './serviceWorker';ReactDOM.render( <React.StrictMode&gt

推荐文章

热门文章

相关标签