最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

TextView使用SpannableString設(shè)置復(fù)合文本 SpannableString實(shí)現(xiàn)TextView的鏈接效果

 更新時(shí)間:2017年08月04日 14:31:07   作者:飯飯_fan  
這篇文章主要為大家詳細(xì)介紹了如何利用SpannableString實(shí)現(xiàn)TextView的鏈接效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一、簡(jiǎn)介

TextView使用SpannableString設(shè)置復(fù)合文本
TextView通常用來(lái)顯示普通文本,但是有時(shí)候需要對(duì)其中某些文本進(jìn)行樣式、事件方面的設(shè)置。Android系統(tǒng)通過(guò)SpannableString類來(lái)對(duì)指定文本進(jìn)行相關(guān)處理,具體有以下功能:

1、BackgroundColorSpan 背景色
2、ClickableSpan 文本可點(diǎn)擊,有點(diǎn)擊事件
3、ForegroundColorSpan 文本顏色(前景色)
4、MaskFilterSpan 修飾效果,如模糊(BlurMaskFilter)、浮雕(EmbossMaskFilter)
5、MetricAffectingSpan 父類,一般不用
6、RasterizerSpan 光柵效果
7、StrikethroughSpan 刪除線(中劃線)
8、SuggestionSpan 相當(dāng)于占位符
9、UnderlineSpan 下劃線
10、AbsoluteSizeSpan 絕對(duì)大?。ㄎ谋咀煮w)
11、DynamicDrawableSpan 設(shè)置圖片,基于文本基線或底部對(duì)齊。
12、ImageSpan 圖片
13、RelativeSizeSpan 相對(duì)大?。ㄎ谋咀煮w)
14、ReplacementSpan 父類,一般不用
15、ScaleXSpan 基于x軸縮放
16、StyleSpan 字體樣式:粗體、斜體等
17、SubscriptSpan 下標(biāo)(數(shù)學(xué)公式會(huì)用到)
18、SuperscriptSpan 上標(biāo)(數(shù)學(xué)公式會(huì)用到)
19、TextAppearanceSpan 文本外貌(包括字體、大小、樣式和顏色)
20、TypefaceSpan 文本字體
21、URLSpan 文本超鏈接

 SpannableString的類架構(gòu)(部分)

二、方法

1)用SpannableString給TextView對(duì)象設(shè)置link點(diǎn)擊事件方法

第一步:設(shè)置string內(nèi)容

String text="點(diǎn)擊我打開activity";

第二步:為string內(nèi)容添加各種屬性,
在這里是擁有SpannableString的ClickableSpan屬性

SpannableString spannableString=new SpannableString(text);

spannableString.setSpan(new ClickableSpan() {中間省略O(shè)nclic方法}, 3, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

第三步:在TextView中添加上面設(shè)置好的文本內(nèi)容

tv_spannableString.setText(spannableString);

第四步:設(shè)置鼠標(biāo)點(diǎn)擊響應(yīng)事件

這一步在html方法中必須要,現(xiàn)在沒有指定autoLink,感覺也是必須要,沒這句話編譯出錯(cuò)

spannableString.setSpan(new ClickableSpan() {中間省略O(shè)nclic方法}, 3, text.length(),

tv_spannableString.setMovementMethod(LinkMovementMethod.getInstance()); 

2)SpannableString為控件設(shè)置各種屬性的方法

1、將string類型轉(zhuǎn)化為SpannableString類型對(duì)象

SpannableString spannableString=new SpannableString(text);

2、對(duì)SpannableString對(duì)象執(zhí)行setSpan方法

spannableString.setSpan(new ClickableSpan() {中間省略O(shè)nclic方法}, 3, text.length(), }, 3, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

說(shuō)明,設(shè)置點(diǎn)擊事件是使用的ClickableSpan() ,如果想要設(shè)置其他效果就用其它的好了,

就是最上面列舉的那么多

 三、代碼實(shí)例

效果圖

點(diǎn)擊之后出現(xiàn)

代碼:

fry.ActivityDemo3

package fry;

import java.lang.reflect.Field;

import com.example.textViewDemo1.R;
import com.example.textViewDemo1.R.id;

import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.Html;
import android.text.Html.ImageGetter;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.view.View;
import android.widget.TextView;

public class ActivityDemo3 extends Activity{
  private TextView tv_spannableString;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity03);
    setTitle("TextViewDemo3");
    tv_spannableString=(TextView) findViewById(R.id.tv_spannableString);
    /*
     * 用SpannableString給TextView對(duì)象設(shè)置link點(diǎn)擊事件方法
     * 第一步:設(shè)置string內(nèi)容
     */
    String text="點(diǎn)擊我打開activity";
    /*
     * 第二步:為string內(nèi)容添加各種屬性,
     * 在這里是擁有SpannableString的ClickableSpan屬性
     */
    
    /*
     * SpannableString為控件設(shè)置各種屬性的方法
     * 1、將string類型轉(zhuǎn)化為SpannableString類型對(duì)象
     * 2、對(duì)SpannableString對(duì)象執(zhí)行setSpan方法
     */
    SpannableString spannableString=new SpannableString(text);
    spannableString.setSpan(new ClickableSpan() {
      
      @Override
      public void onClick(View arg0) {
        // TODO Auto-generated method stub
        Intent intent=new Intent(ActivityDemo3.this,ActivityDemo2.class);
        startActivity(intent);
      }
    }, 3, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    /*
     * Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
     * exclusive是 獨(dú)有的 意思
     * 這個(gè)屬性即是效果獨(dú)有,不影響前后
     */
    
    /*
     * 第三步:在TextView中添加上面設(shè)置好的文本內(nèi)容
     */
    tv_spannableString.setText(spannableString);
    /*
     * 第四步:設(shè)置鼠標(biāo)點(diǎn)擊響應(yīng)事件
     * 這一步在html方法中必須要,現(xiàn)在沒有指定autoLink,感覺也是必須要
     * 沒這句話編譯出錯(cuò)
     */
    tv_spannableString.setMovementMethod(LinkMovementMethod.getInstance());
  }
}

/textViewDemo1/res/layout/activity03.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical" >
 <TextView 
 android:id="@+id/tv_spannableString"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 />

</LinearLayout>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android 中 MD5 的幾種生成方式(小結(jié))

    Android 中 MD5 的幾種生成方式(小結(jié))

    這篇文章主要介紹了Android 中 MD5 的幾種生成方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Android編程實(shí)現(xiàn)簡(jiǎn)單設(shè)置按鈕顏色的方法

    Android編程實(shí)現(xiàn)簡(jiǎn)單設(shè)置按鈕顏色的方法

    這篇文章主要介紹了Android編程實(shí)現(xiàn)簡(jiǎn)單設(shè)置按鈕顏色的方法,涉及Android控件布局與屬性設(shè)置相關(guān)操作技巧,需要的朋友可以參考下
    2017-03-03
  • Android如何自定義EditText下劃線?

    Android如何自定義EditText下劃線?

    Android如何自定義EditText下劃線?本文教大家利用Android實(shí)現(xiàn)自定義的EditText下劃線,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Android APK優(yōu)化工具Zipalign詳解

    Android APK優(yōu)化工具Zipalign詳解

    本文主要介紹Android APK優(yōu)化工具Zipalign,這里整理了相關(guān)資料,并詳細(xì)介紹如何使用Zipalign工具及使用技巧,有需要的小伙伴可以參考下
    2016-09-09
  • Android開發(fā)之使用150行代碼實(shí)現(xiàn)滑動(dòng)返回效果

    Android開發(fā)之使用150行代碼實(shí)現(xiàn)滑動(dòng)返回效果

    本文給大家分享Android開發(fā)之使用150行代碼實(shí)現(xiàn)滑動(dòng)返回效果的代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-05-05
  • Android 谷歌推薦的VR實(shí)現(xiàn)方式(分享)

    Android 谷歌推薦的VR實(shí)現(xiàn)方式(分享)

    下面小編就為大家分享一篇Android 谷歌推薦的VR實(shí)現(xiàn)方式。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • Android列表RecyclerView排列布局

    Android列表RecyclerView排列布局

    這篇文章主要為大家詳細(xì)介紹了Android列表RecyclerView排列布局,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Android實(shí)現(xiàn)手寫簽名

    Android實(shí)現(xiàn)手寫簽名

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)手寫簽名的具體實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Android ViewPager實(shí)現(xiàn)左右滑動(dòng)的實(shí)例

    Android ViewPager實(shí)現(xiàn)左右滑動(dòng)的實(shí)例

    這篇文章主要介紹了Android ViewPager實(shí)現(xiàn)左右滑動(dòng)的實(shí)例的相關(guān)資料,這里提供實(shí)現(xiàn)代碼實(shí)現(xiàn)左右滑動(dòng)的功能,希望能幫助到大家,需要的朋友可以參考下
    2017-08-08
  • Android自定義View實(shí)現(xiàn)開關(guān)按鈕

    Android自定義View實(shí)現(xiàn)開關(guān)按鈕

    android 自定義view知識(shí)非常廣泛,難以讓人掌握。但是也是andoroid進(jìn)階學(xué)習(xí)的必經(jīng)之路。下面通過(guò)本文給大家介紹Android自定義View實(shí)現(xiàn)開關(guān)按鈕的知識(shí),非常不錯(cuò),感興趣的朋友一起看看吧
    2016-11-11

最新評(píng)論

滦平县| 河池市| 山东| 肇东市| 斗六市| 任丘市| 广灵县| 封丘县| 榆林市| 望奎县| 余庆县| 雷波县| 崇州市| 梧州市| 金乡县| 资兴市| 松阳县| 文水县| 澳门| 武隆县| 洛扎县| 黔江区| 滕州市| 定远县| 溧阳市| 望谟县| 合肥市| 周宁县| 明星| 名山县| 金山区| 砚山县| 拜泉县| 福泉市| 葫芦岛市| 磴口县| 曲水县| 同仁县| 普兰店市| 石狮市| 湘乡市|