布局文件xml
1 <TextView 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:id="@+id/test_note" 5 android:autoLink="all" 6 />
这里autoLink="all"就是链接所有类型的,包括网址,电话,邮件地址什么的。
Java代码里,对链接的事件进行监听。
package com.jayce.testlink; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.style.ClickableSpan; import android.text.style.URLSpan; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; public class TextLinkActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_text_link); TextView tv = (TextView)findViewById(R.id.test_note); CharSequence text = tv.getText(); /* * 以下是textview的内容(这里给了3个示例链接和一个普通字符串) * 13888888888 * www.google.com * test@gmail.com * jaycetest */ if (text instanceof Spannable) { int end = text.length(); Spannable sp = (Spannable) tv.getText(); URLSpan[] spans = sp.getSpans(0, end, URLSpan.class); SpannableStringBuilder style = new SpannableStringBuilder(text); style.clearSpans();// should clear old spans for (URLSpan span : spans) { JayceSpan mySpan = new JayceSpan(span.getURL()); style.setSpan(mySpan, sp.getSpanStart(span), sp.getSpanEnd(span), Spannable.SPAN_EXCLUSIVE_INCLUSIVE); } tv.setText(style); } tv.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub /* * 这里是对所有点击消息的监听 * 可以把链接的做标记剔除后监听非链接的点击 * 比如jaycetest区域的点击 */ }}); } private class JayceSpan extends ClickableSpan { private String mSpan; JayceSpan(String span) { mSpan = span; } @Override public void onClick(View widget) { Log.e("jayce", "span:" + mSpan); /*链接被点击 * 这里可以做一些自己定义的操作 */ Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(mSpan)); startActivity(intent); } } }
相关推荐
Android自定义TextView链接点击和长按事件
Android 文本类中字体颜色的改变,并可以相应点击事件
Android TextView中链接的实现,实现打开网页和拨打电话。
android textview 指定片段添加点击事件 关注博客 http://himici.com
android TextView android TextView
一个自定义的android的翻转textview,效果很不错的
Android TextView 文字片点击特效、点击事件监听实现了TextView 文字片段 点击_长按 事件监听 以及点击特效关键技术 在自定义Span中对TextPaint的color、bgcolor等属性设置选中时的文字颜色,背景色、 在自定义...
在TextView中,如果文本很长,可能需要实现垂直滚动显示文本的效果。这里需要在XML布局文件中为TextView设置如下几个属性。 Android:scrollbars=vertical android:scrollbarStyle=X 其中X为outsideOverlay或...
android TextView 支持CSS样式
android 设置textview中划线效果
android textview 部分文本变色,点击可跳转到指定的链接
安卓中的TextView 实现部分文字点击事件,通过Spannable 实现
最近在项目中使用textview时发现在使用Android:layout_height=”wrap_content”这个属性设置后,textview会有默认的padding,也就是fontpadding。这样就会造成textview和其他view中间的间距会比自己的设置的大。那么...
Android textview 文字中间加上图片
android实现TextView文字部分渐变色;LinearGradientFontSpan SpannableString
TextView 45°倾斜效果,详情请看链接:http://blog.csdn.net/lan410812571/article/details/9388895
MTextView,解决Android TextView提前换行的问题
android仿微博@人、http可点击,引用话题点击等;
android textview 文字排版 换行
Android实现TextView部分文本监听单击事件