Android 三步实现《用户协议》和《隐私政策》超好用的文本点击库SpannableText

老规矩先看效果:

Android 三步实现《用户协议》和《隐私政策》超好用的文本点击库SpannableText_第1张图片

一、SpannableText简介

1.功能介绍
SpannableText是一款超简单实用的可点击文本类,可用于实现项目中《用户协议》和《隐私政策》的点击跳转;只需要传入目标文字以及目标链接,通过监听事件即可实现目标跳转,提高开发者的工作效率。

2.函数说明
设置参数:文本内容,目标文字1,目标文字2,目标链接1,目标链接2

setParam(String textContent, String target1, String target2, String url1, String url2)

支持设置单个目标参数

setParam(String textContent, String target, String url)

设置目标文字样式:颜色ID,是否需要下划线【默认为蓝色,不显示下划线

setTargetStyle(int color, boolean underLine)

设置要显示的TextView控件

setTextView(TextView textView)

ITextListener目标文字监听接口:回调点击的目标链接url

onClickText(String url)

二、使用示例

1.添加依赖

在项目的build.gradle中添加:

allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
}

在app目录下的build.gradle添加:

dependencies {
	   implementation 'com.github.JohnWa97:SpannableText:1.0.5'
}

2.在MainActivity中使用

public class MainActivity extends AppCompatActivity implements ITextListener {

    private TextView textView;
    private String url1 = "https://www.baidu.com";
    private String url2 = "https://www.hao123.com/";
    private String content = "动物们是大自然怀抱中孕育出的精灵是相片中一个个灵动的倩影是和我们人类朝夕相处的好朋友。" +"正是因为有了各种各样的小动物,《用户协议》和《隐私政策》美丽的地球才显得生机勃勃。我的动物朋友小狗就是我记忆中最忠实的伙伴。";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.main_textView);
        initSpannableText();
    }

    //初始化文本类,设置参数
    private void initSpannableText() {
   		//构造函数传入上下文,传入监听回调 需实现 ITextListener 
        SpannableText spannableText = new SpannableText(this,this);
        //设置参数
        spannableText.setParam(content,"《用户协议》","《隐私政策》", url1, url2);
        //设置目标字体样式
        spannableText.setTargetStyle(R.color.blue, false)
        //设置控件
        spannableText.setTextView(textView);
    }

    //实现文本点击接口
    @Override
    public void onClickText(String url) {
    	//点击链接跳转
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        startActivity(intent);
    }

OK,打完收工!

最后附上项目地址:SpannableText

你可能感兴趣的:(Android,Java,android,android,studio,android-studio)