当前位置: 首页 > wzjs >正文

专做茶叶的网站google永久免费的服务器

专做茶叶的网站,google永久免费的服务器,深圳网站开发培训,奉贤武汉阳网站建设效果图如下&#xff1a; 1. 设置同意、退出、点击用户协议、点击隐私协议的函数参数 2. 《用户协议》、《隐私政策》设置成可点击的&#xff0c;且颜色要区分出来 res/layout/dialog_privacy_policy.xml 文件 <?xml version"1.0" encoding"utf-8"?&…

效果图如下:

1. 设置同意、退出、点击用户协议、点击隐私协议的函数参数

2. 《用户协议》、《隐私政策》设置成可点击的,且颜色要区分出来

res/layout/dialog_privacy_policy.xml 文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/dialogRoot"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/bg_dialog_rounded"android:orientation="vertical"android:padding="24dp"><TextViewandroid:id="@+id/tvTitle"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="用户协议和隐私政策"android:textColor="#222222"android:textSize="18sp"android:textStyle="bold"android:gravity="center"android:layout_marginBottom="16dp"/><TextViewandroid:id="@+id/tvContent"android:layout_width="match_parent"android:layout_height="wrap_content"android:textColor="#444444"android:textSize="15sp"android:lineSpacingExtra="4dp" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_marginTop="24dp"android:gravity="center"><androidx.appcompat.widget.AppCompatButtonandroid:id="@+id/btnExit"android:layout_width="0dp"android:layout_height="48dp"android:layout_weight="1"android:text="退出应用"android:textColor="#5E5C3F"android:background="@drawable/bg_button_outline"android:textSize="16sp" /><Viewandroid:layout_width="16dp"android:layout_height="0dp" /><androidx.appcompat.widget.AppCompatButtonandroid:id="@+id/btnAgree"android:layout_width="0dp"android:layout_height="48dp"android:layout_weight="1.5"android:text="已阅读并同意"android:textColor="#FFFFFF"android:background="@drawable/bg_button_primary"android:textSize="16sp" /></LinearLayout>
</LinearLayout>

res/drawable/bg_dialog_rounded.xml 文件

<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><solid android:color="#FFFFFF"/><corners android:radius="14dp"/>
</shape>

res/drawable/bg_button_outline.xml文件

<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><solid android:color="#FFFFFF" /><stroke android:width="0.5dp" android:color="#5E5C3F" /><corners android:radius="8dp" />
</shape>

res/drawable/bg_button_primary.xml文件

<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><solid android:color="#5E5C3F" /><corners android:radius="8dp" />
</shape>

PrivacyPolicyDialog.kt 文件
import android.content.Context
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.text.SpannableString
import android.text.Spanned
import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan
import android.view.LayoutInflater
import android.view.View
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AlertDialogclass PrivacyPolicyDialog(private val context: Context,private val onAgree: () -> Unit,private val onExit: () -> Unit,private val onClickUserAgreement: () -> Unit,private val onClickPrivacyPolicy: () -> Unit
) {fun show() {val view = LayoutInflater.from(context).inflate(R.layout.dialog_privacy_policy, null)val tvContent = view.findViewById<TextView>(R.id.tvContent)val tvTitle = view.findViewById<TextView>(R.id.tvTitle)val btnAgree = view.findViewById<Button>(R.id.btnAgree)val btnExit = view.findViewById<Button>(R.id.btnExit)val content = "在您使用本应用之前,请您务必审慎阅读、充分理解“用户协议”和“隐私政策”各条款内容。详细资料请阅读:《用户协议》和《隐私政策》。"val spannable = SpannableString(content)val userStart = content.indexOf("《用户协议》")val userEnd = userStart + "《用户协议》".lengthval privacyStart = content.indexOf("《隐私政策》")val privacyEnd = privacyStart + "《隐私政策》".lengthspannable.setSpan(object : ClickableSpan() {override fun onClick(widget: View) {onClickUserAgreement()}}, userStart, userEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)spannable.setSpan(object : ClickableSpan() {override fun onClick(widget: View) {onClickPrivacyPolicy()}}, privacyStart, privacyEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)tvContent.text = spannabletvContent.movementMethod = LinkMovementMethod.getInstance()tvContent.highlightColor = Color.TRANSPARENTval dialog = AlertDialog.Builder(context).setView(view).setCancelable(false).create()dialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))btnAgree.setOnClickListener {onAgree()dialog.dismiss()}btnExit.setOnClickListener {onExit()dialog.dismiss()}dialog.show()}
}

MainActivity.kt
 

package com.example.poemappimport androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.ViewGroup
import android.widget.Button
import android.widget.Toast
import androidx.appcompat.app.AlertDialogclass MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)PrivacyPolicyDialog(context = this,onAgree = {Toast.makeText(this, "用户已同意", Toast.LENGTH_SHORT).show()// TODO: 记录已同意状态},onExit = {finish()},onClickUserAgreement = {// TODO: 跳转用户协议页面},onClickPrivacyPolicy = {// TODO: 跳转隐私政策页面}).show()}}

http://www.dtcms.com/wzjs/319532.html

相关文章:

  • wordpress 简约企业seo优化诊断
  • 新闻网站建设新闻广州网络推广万企在线
  • 多媒体网站开发实验报告在线数据分析网站
  • 北京网站定制报价59软文网
  • asp.net建立网站营销型企业网站
  • 石桥铺网站建设公司外贸网站平台有哪些
  • b2b网站网络推广百度首页百度一下
  • 做报表的网站东莞整站优化排名
  • 云建站哪家好seo前线
  • 郑州专业做淘宝网站建设自动搜索关键词软件
  • php网站如何导入数据库seo排名点击首页
  • 杭州有哪些网站建设今日头条武汉最新消息
  • 长春做网站哪家公司好百度seo如何优化关键词
  • 政府门户网站建设 配置清单亚马逊关键词工具哪个最准
  • 阿里云网站备案流程八戒
  • 微网站 建设方案世界杯大数据
  • 针对茅台酒企业网站建设方案网上宣传广告怎么做
  • 网站被百度k是什么意思站长工具综合查询
  • 网站推广怎么做关键词上海专业的seo公司
  • 商丘网站百度问一问付费咨询
  • 成品网站qq客服手机网站百度关键词排名
  • thinkphp做网站后台百度搜索推广操作简要流程
  • 站长工具seo综合查询工具硬件工程师培训机构哪家好
  • 网站推广的一般方式整站优化系统厂家
  • 软装设计网站排名商城推广
  • 长沙小程序app开发seo引流什么意思
  • 外贸公司销售渠道二十个优化
  • 网站建设方案标准模板北京网站提升排名
  • 网站建设企业网站制作个人建网站需要多少钱
  • 整体网站构架交换链接营销