Support some of the key words can be clicked with the underline TextView
Step1:
<declare-styleable name="AutoLinkStyleTextView"> <attr name="AutoLinkStyleTextView_text_value" format="string|reference"/>//key word with color and underline, and split with ','(en) <attr name="AutoLinkStyleTextView_default_color" format="color|reference"/>//word and underline's color <attr name="AutoLinkStyleTextView_has_under_line" format="boolean"/>//underline with true and false <attr name="AutoLinkStyleTextView_start_image" format="reference"/>//start with image 's TextView <attr name="AutoLinkStyleTextView_type"> <enum name="start_image" value="0"/> <enum name="content_text" value="1"/>//default </attr> </declare-styleable>
Step2:
//style1
<xx.AutoLinkStyleTextView
android:id="@+id/tv_clause"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="我已核对付款金额,仔细阅读并同意“购买须知”及约克论坛团购“用户条款”"
android:textSize="16sp"
app:AutoLinkStyleTextView_text_value="“购买须知”,“用户条款”"
/>
//style2
<xx.AutoLinkStyleTextView
android:id="@+id/tv_start_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="活动介绍,开始以图片开头"
android:textSize="16sp"
app:AutoLinkStyleTextView_start_image="@mipmap/ic_qupai_subject_information"
app:AutoLinkStyleTextView_type="start_image"
/>
Step3:
//style1 autoLinkStyleTextView.setOnClickCallBack(new AutoLinkStyleTextView.ClickCallBack() { @Override public void onClick(int position) { if (position == 0) { Toast.makeText(MainActivity.this, "购买须知", Toast.LENGTH_SHORT).show(); } else if (position == 1) { Toast.makeText(MainActivity.this, "用户条款", Toast.LENGTH_SHORT).show(); } } }); //style2 setStartImageText(tvStartImage.getText());


