開(kāi)發(fā)中,經(jīng)常要用到一些閱讀隱私協(xié)議的場(chǎng)景,原生的textview控件很難做到在一個(gè)控件里有兩個(gè)點(diǎn)擊事件,那現(xiàn)在就來(lái)安利一個(gè)強(qiáng)大的組件——SpannableStringBuilder。
先看看效果:
?直接上代碼,布局文件:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="40dp"
android:paddingRight="40dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="我已閱讀并同意" />
<TextView
android:id="@+id/login_rule"
android:layout_width="wrap_content"
android:text="《用戶(hù)協(xié)議》、"
android:layout_height="wrap_content"/>
</LinearLayout>
布局文件很容易理解,一個(gè)checkbox實(shí)現(xiàn)選中效果,旁邊加一個(gè)textview。
在activity中;
private TextView mLoginRule;
通過(guò)findviewbyid獲取控件id后
private void setRule() {
SpannableStringBuilder span = new SpannableStringBuilder();
span.append("隱私協(xié)議").append("、").append("用戶(hù)協(xié)議");
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(@NonNull View view) {
ToastUtils.show("隱私政策");
}
};
ClickableSpan clickableSpan2 = new ClickableSpan() {
@Override
public void onClick(@NonNull View view) {
ToastUtils.show("用戶(hù)協(xié)議");
}
};
span.setSpan(clickableSpan,0,4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
span.setSpan(clickableSpan2,5,9, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mLoginRule.setText(span);
mLoginRule.setMovementMethod(LinkMovementMethod.getInstance());
}
代碼很容易理解,重點(diǎn)講講setSpan,這里第一個(gè)參數(shù)定義了響應(yīng)點(diǎn)擊事件的方法,第二個(gè)就是文字的開(kāi)頭角標(biāo),第三個(gè)是文字結(jié)尾角標(biāo),第四個(gè)表示不包含start和end所在的端點(diǎn) ?(star,end)
setSpan(clickableSpan,0,4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
注意文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-610253.html
mLoginRule.setMovementMethod(LinkMovementMethod.getInstance());
很關(guān)鍵,否則無(wú)法響應(yīng)點(diǎn)擊事件文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-610253.html
到了這里,關(guān)于Android 實(shí)現(xiàn)閱讀用戶(hù)協(xié)議的文字控件效果的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!