實現用戶協議演熟,隱私條款在一段文字中不同顏色顯示,并可點擊功能

前言

圖片.png

/1240)
如上圖所示功能實現司顿,有兩種方法實現:
(1)直接幾個textview拼接成一段文字進行實現芒粹;這種方式不太實用,多個textview實現有點浪費資源大溜。
(2)采用SpannableString進行實現化漆;此篇文章主要進行該方法實現

話不多說,我們開始吧:

思路

1.首先上圖這段文字我們可以分成5個字符串:
①用戶協議前面一段文字
②用戶協議
③和
④隱私條款
⑤隱私條款后面文字
2.主要需要我們處理的就是用戶協議和隱私條款
定義字符串 String user_agreement = "《用戶協議》"钦奋,String privacy_policy = "《隱私條款》"座云,分別進行其點擊事件,下劃線付材,字體顏色等相關處理

代碼實現
        String privacy_policy = "《隱私條款》";
        String tv_he = "和";
        String empennage_content = "朦拖。如您選擇不同意,我們將無法為您提供XXX相關等功能厌衔,同時我們可能在您使用相關功能和服務時璧帝,需要在您的設備中開啟特定的訪問權限,以實現這些權限的對用功能";
        tvContent.setText("歡迎使用XXX富寿,在您使用XXX前睬隶,請認真閱讀并了解我們的 ");


        //用戶協議部分
        SpannableString spStr = new SpannableString(user_agreement);

        spStr.setSpan(new ClickableSpan() {
            @Override
            public void updateDrawState(TextPaint ds) {
                super.updateDrawState(ds);
                ds.setColor(Color.parseColor("#FFFF4849"));       //設置文件顏色
                ds.setUnderlineText(true);      //設置下劃線
            }

            @Override
            public void onClick(View widget) {
                         // 。页徐。苏潜。用戶協議點擊事件
            }
        }, 0, user_agreement.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        tvContent.append(spStr);
        tvContent.append(tv_he);

        //隱私條款部分
        SpannableString spStrPolicy = new SpannableString(privacy_policy);

        spStrPolicy.setSpan(new ClickableSpan() {
            @Override
            public void updateDrawState(TextPaint ds) {
                super.updateDrawState(ds);

                ds.setColor(Color.parseColor("#FFFF4849"));       //設置文件顏色
                ds.setUnderlineText(true);      //設置下劃線
            }

            @Override
            public void onClick(View widget) {

            // 。泞坦。窖贤。隱私條款點擊事件
            }
        }, 0, spStrPolicy.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        tvContent.append(spStrPolicy);
        tvContent.append(empennage_content);

        tvContent.setMovementMethod(LinkMovementMethod.getInstance());//開始響應點擊事件
結束

至此結束 主要是SpannableString 的使用以及相關點擊事件處理砖顷。大家有好的方案可以分享一下贰锁。

原創(chuàng),轉載請注明出處:http://www.reibang.com/p/ed04fa30cd09

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末滤蝠,一起剝皮案震驚了整個濱河市豌熄,隨后出現的幾起案子,更是在濱河造成了極大的恐慌物咳,老刑警劉巖锣险,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡芯肤,警方通過查閱死者的電腦和手機巷折,發(fā)現死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來崖咨,“玉大人锻拘,你說我怎么就攤上這事』鞫祝” “怎么了署拟?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長歌豺。 經常有香客問我推穷,道長,這世上最難降的妖魔是什么类咧? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任馒铃,我火速辦了婚禮,結果婚禮上痕惋,老公的妹妹穿的比我還像新娘骗露。我一直安慰自己,他們只是感情好血巍,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布萧锉。 她就那樣靜靜地躺著,像睡著了一般述寡。 火紅的嫁衣襯著肌膚如雪柿隙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天鲫凶,我揣著相機與錄音禀崖,去河邊找鬼。 笑死螟炫,一個胖子當著我的面吹牛波附,可吹牛的內容都是我干的。 我是一名探鬼主播昼钻,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼掸屡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了然评?” 一聲冷哼從身側響起仅财,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碗淌,沒想到半個月后盏求,有當地人在樹林里發(fā)現了一具尸體抖锥,經...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年碎罚,在試婚紗的時候發(fā)現自己被綠了磅废。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡荆烈,死狀恐怖还蹲,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情耙考,我是刑警寧澤谜喊,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站倦始,受9級特大地震影響斗遏,放射性物質發(fā)生泄漏。R本人自食惡果不足惜鞋邑,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一诵次、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧枚碗,春花似錦逾一、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至怨规,卻和暖如春陌宿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背波丰。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工壳坪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掰烟。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓爽蝴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親纫骑。 傳聞我的和親對象是個殘疾皇子蝎亚,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354