package com.example.urlspantextviewclick; import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android.text.Html; import android.text.Spannable; import android.text.SpannableString; import android.text.Spanned; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.text.style.ForegroundColorSpan; import android.view.Menu; import android.view.View; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private TextView t1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); t1=(TextView)findViewById(R.id.txt); CharSequence str=getText(R.string.hello_world); SpannableString spannableString1 = new SpannableString(str); spannableString1.setSpan(new ClickableSpan(){ @Override public void onClick(View widget) { Toast.makeText(getApplicationContext(), "who hit me", Toast.LENGTH_SHORT).show(); } }, str.length()-3, str.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); spannableString1.setSpan(new ForegroundColorSpan(Color.RED),str.length()-3, str.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); t1.setText(spannableString1); t1.setMovementMethod(LinkMovementMethod.getInstance()); //Html.fromHtml(source) //spannableString1. /**to see http://www.cnblogs.com/mxgsa/archive/2012/11/15/2760256.html * Android TextView 支持的HTML标签 •<a href="..."> •<b> •<big> •<blockquote> •<br> •<cite> •<dfn> •<div align="..."> •<em> •<font size="..." color="..." face="..."> •<h1> •<h2> •<h3> •<h4> •<h5> •<h6> •<i> •<img src="..."> •<p> •<small> •<strike> •<strong> •<sub> •<sup> •<tt> •<u> */ } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
相关推荐
通过上述步骤,我们成功地实现了TextView文字部分的渐变色效果。在实际项目中,你可以根据需求调整`LinearGradient`的颜色、位置和方向,以及`GradientTextSpan`应用的范围,以达到理想的视觉效果。同时,`...
在一些场景下,我们可能需要对`TextView`中的特定部分文字进行颜色变化,甚至为这部分文字添加点击事件,以实现更复杂的用户交互。下面我们将详细探讨如何实现这些功能。 ### 1. 设置指定部分文字颜色 `TextView`...
Android TextView 文字片点击特效、点击事件监听实现了TextView 文字片段 点击_长按 事件监听 以及点击特效关键技术 在自定义Span中对TextPaint的color、bgcolor等属性设置选中时的文字颜色,背景色、 在自定义...
在Android开发中,`TextView`是用于展示文本的常用组件,但有时我们希望部分文本具有不同的样式,比如颜色不同,甚至能响应用户的点击事件,跳转到特定的链接。这通常涉及到`SpannableString`、`ClickableSpan`等...
值得注意的是,如果需要处理多个可点击部分,可以重复以上步骤,为每个部分创建新的ClickableSpan实例并设置其范围。 总的来说,利用Spannable和ClickableSpan,我们可以为Android应用中的TextView实现灵活且交互性...
这篇内容将深入讲解如何在Android中实现TextView的文字颜色变换及点击响应。 首先,我们要了解如何改变TextView的文字颜色。在XML布局文件中,我们可以直接通过`android:textColor`属性来设置文本颜色。例如,如果...
本人封装的一个工具类,可对textview中的部分字体修改颜色和大小。希望对大家有所帮助! 有四个构造方法,可以改变字体大小和颜色或者默认TextView本身的颜色大小都可以!! 代码中都写又详细的注释!
本篇将详细介绍如何设置TextView的部分文字颜色和背景,使其更加醒目。 首先,我们可以使用`SpannableString`和`SpannableStringBuilder`来实现这个功能。这两个类是可变的字符串,可以添加不同的样式,如颜色、...
在许多情况下,我们可能需要对TextView中的文本进行更细致的控制,比如设置某一段文字的颜色或背景色。这涉及到Android的富文本处理,通常会用到Spannable和SpannableString类。本篇文章将详细讲解如何在Android中...
在Android开发中,动态设置TextView字体颜色是一项常见的需求。开发者可能需要根据用户的操作、应用程序的状态或者数据的变化来改变TextView的文字颜色。这篇博文“android动态设置TextView字体颜色”为我们揭示了...
5. **高亮显示**: 为了高亮显示@人、话题或链接,我们可以在创建ClickableSpan时设置不同的前景色,或者在`updateDrawState()`中改变文字的样式,例如设置下划线或改变字体颜色。 6. **适配多行文本**: 当TextView...
例如,可以添加一个背景颜色,改变文字颜色,或者使用自定义的Drawable资源。 ```xml <TextView ... android:background="?android:attr/selectableItemBackground" android:textColor="@color/colorPrimary" ...
本文将深入讲解如何在Android中根据搜索内容实现TextView中的文字部分加粗。 首先,我们需要理解Android中的TextView。TextView是Android UI框架中的一个基本组件,用于显示单行或多行文本。通过设置其属性,我们...
Android 中 TextView 实现部分文字可点击跳转 Android 中的 TextView 控件可以通过使用 SpannableString 和 ClickableSpan 来实现部分文字可点击跳转的功能。下面是实现的详细介绍: 首先,我们需要创建一个继承自...
String text = "这段文字中,一部分是大字体,一部分是小字体,颜色也不同。"; SpannableString ss = new SpannableString(text); ``` 2. 应用不同字体大小: 我们可以使用CharacterStyle接口的子类,如 ...
SpannableString是Android SDK提供的一种可操作字符串对象,允许我们在字符串的不同部分应用不同的格式,如颜色、字体大小、样式等。 首先,我们需要了解TextView的基本属性。TextView是Android UI布局中的一个基本...
当我们在TextView的文本中插入URL时,可以使用`android:autoLink="web"`属性,让系统自动识别并转换为可点击的超链接。但这种方法可能无法满足所有需求,例如自定义链接样式。此时,我们可以使用`SpannableString`和...