1. 程式人生 > >Android富文字實現不同的文字新增點選事件

Android富文字實現不同的文字新增點選事件

如果可以點選的文字位置是固定不變的,可以在String.xml中配置(如:“可以點選的”給“點選”設定點選事件)。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_first);
    TextView textView = (TextView) findViewById(R.id.text1);
    SpannableStringBuilder spannable = new SpannableStringBuilder("可以點選的");
    //設定文字的前景色,2、4分別表示可以點選文字的起始和結束位置。
    spannable.setSpan(new ForegroundColorSpan(Color.RED),2,4,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    //這個一定要記得設定,不然點選不生效
    textView.setMovementMethod(LinkMovementMethod.getInstance());
    spannable.setSpan(new TextClick(),2,4 ,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    textView.setText(spannable);
}
private class TextClick extends ClickableSpan{
    @Override
    public void onClick(View widget) {
        //在此處理點選事件
        Log.e("------->", "點選了");
    }

    @Override
    public void updateDrawState(TextPaint ds) {
ds.setColor(ds.linkColor); //文字的顏色 ds.setUnderlineText(true); //是否設定下劃線,true表示設定。 } } }

相關推薦

Android中如何在Fragment中新增事件切換新的Fragment

此問題是我在Android開發中遇到,因為自己在網上一直沒有找到好的方法,後來摸爬滾打解決後,打算分享給大家。 首先,在遇到該問題時,我先預設讀者已經對Android開發中Fragment的使用已經有了一定的瞭解。 因為在fragment中無法使用F

Android文字實現不同文字新增事件

如果可以點選的文字位置是固定不變的,可以在String.xml中配置(如:“可以點選的”給“點選”設定點選事件)。 @Override protected void onCreate(Bundle s

Android 神器之SpanableString實現textview部分字型事件不同顏色),並且支援多個事件

1.老規矩,咱們先上效果圖: 2.如上圖 標紅的地方,我們一眼看上去 就是一個TextView上面展示出來的(沒錯就是一個TextView展示出來的),並且 部分字型顏色不一樣,而且這個三個協議是可以點選的,點選跳轉到不同頁面,怎麼實現尼 ?,這裡就涉及到一個

[Swift通天遁地]一、超級工具-(1)動態標籤:給UILabel文字中的Flag和url新增事件

本文將演示動態標籤的使用,它允許使用者在標籤上進行互動操作。 點選【Podfile】,檢視安裝配置檔案。 1 platform :ios, '8.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://githu

jquery實現根據不同class為多個按鈕新增事件

一、實現功能 在專案中需要新增幾個button來實現點選不同的button就可以設定字母的顏色。但是button上面不能有文字。所以不能根據$('button').html()獲取button的文字來

Android Fragment+Viewpager實現左右滑動和 實現DrawerLayout

xml佈局程式碼: <android.support.v4.widget.DrawerLayout xmlns:android=“http://schemas.android.com/apk/res/android” xmlns:app=“http://schemas.androi

Android RecyclerView給Item新增事件

方法一、直接在Adapter中的onBindViewHolder()方法中實現點選事件 @Override public void onBindViewHolder(MyViewHolder

Android中WebView載入Html中的圖片新增事件

    基本的思路: (1)WebView來載入HTML。 (2)向HTML中注入JavaScript,利用JavaScript來呼叫Android中的方法(執行一些跳轉的操作等等)。  首先你必須有一個HTML或者是一個地址,或者是存到本地的一個檔案。我這裡使用的是存到本

android 在.xml裡面新增事件onclick屬性,報錯java.lang.IllegalStateException: Could not find method

每天隨時都在寫onclick方法,自己寫的發現一個問題,在xml中定義 看報錯資訊: java.lang.IllegalStateException: Could not find method onClickButton(View) in a parent or ancestor

定製ListView的介面(使用自定義的列表項佈局,一邊顯示水果圖片,一邊顯示水果文字)以及ListView的事件

只能顯示一段文字的ListView實在是太過單調,我們現在就來對ListView的介面進行定製,讓它可以顯示更加豐富的內容。 首先,我們需要準備好一組水果圖片,分別對應上面提供的每一種水果,待會我們要讓這些水果名稱的旁邊都有一個圖樣。   接著定義一個實體類,作為L

Android RecyclerView使用(二) -給Item新增事件

在上一篇部落格Android RecyclerView使用(一)中介紹了一些基本用法,但是RecyclerView沒有提供Item的點選事件,這裡需要我們自己去實現。 方法一、直接在Adapter中的onBindViewHolder()方法中實現點選事件

android開發:給RecyclerView的item新增事件

RecyclerView可以實現更加好看的佈局,但是對於item點選事件的實現卻有些麻煩,這裡講的是我在看過各種資料和部落格後個人覺得最好用的兩種方法(其實說到底也只是一種方法),放在這裡可以給大家學習也算是自己的一種複習 方法一: 1、首先在adapter類外定義一個O

react native中使用react-native-viewpager實現的商品展示新增事件

對於android,react-native-viewpager這個第三方實現商品展示很好用 <ViewPager dataSource={this.state.adDataSource}

Android給TextView新增事件

1.介面 首先設定TextView的clickable屬性為true。 可以在佈局檔案中進行設定,比如: <?xml version="1.0" encoding="utf-8"?>

android的LinearLayout新增事件

home.setOnClickListener(new View.OnClickListener() {public void onClick(View v) { int i = 0;  } }); 需要注意的是new的是View.OnClickListener(),而不是OnClickListener()

android textview 給指定字改變顏色和新增事件

使用 SpannableString : TextView textview=new TextView(context); String  str="指定字改變顏色和新增點選事件"; SpannableString spannableString=new Spannable

設定TextView部分文字下劃線並響應事件(SpannableString)

實現效果 textview中改變《服務條款》的顏色、增加下劃線。 實現關鍵點: SpannableString的使用 SpannableString spanText=new SpannableString(getString(R.string.d

android-SwipeMenuListView新增事件

     SwipeMenuListView是一個ListView的Item側滑實現的開源框架,用過QQ都知道,側滑出現置頂和刪除按鈕。我覺得使用側滑隱藏按鈕樣式比較美觀。效果如下圖: swip

Android 給TextView新增事件

<TextView android:id="@+id/phone" android:clickable="true" --------->設定此屬性 android:layout_marginLeft="10dp

Unity UGUI按鈕動態新增事件

使用程式碼的方式給按鈕新增點選事件需要引入兩個名稱空間: using UnityEngine.UI; using UnityEngine.Events; 先建立一個介面,並且在介面裡放置一個按鈕: 建立一個Test指令碼,程式碼如下: using