1. 程式人生 > >Android實現TextView部分文字監聽單擊事件

Android實現TextView部分文字監聽單擊事件

由於專案需要,在Android上實現TextView部分文字監聽單擊事件效果如下:


網上找了一些資料,我自己加工一下,生成了一個工具類,使用非常方便,程式碼如下:

TextViewUtil.getInstance().setPartOnClickListener(mTvTest, 3, 8,new PartOnClickListener() {

			@Override
			public void partOnClick(View v) {
				Toast.makeText(mContext, "我被點選了", Toast.LENGTH_SHORT).show();

			}
		});
工具類中的核心程式碼:
	public void setPartOnClickListener(TextView textView, int start, int end,
			PartOnClickListener partOnClickListener) {
		this.partOnClickListener = partOnClickListener;
		this.start = start;
		this.end = end;
		this.textView = textView;
		strs = textView.getText().toString();
		style = new SpannableStringBuilder(strs);
		style.setSpan(new ClickSpannable(partOnClickListener), start, end,
				Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

		textView.setMovementMethod(LinkMovementMethod.getInstance());
		textView.setText(style);

原始碼下載:

http://download.csdn.net/detail/y280903468/9551063

相關推薦

Android實現TextView部分文字事件

由於專案需要,在Android上實現TextView部分文字監聽單擊事件效果如下: 網上找了一些資料,我自己加工一下,生成了一個工具類,使用非常方便,程式碼如下: TextViewUtil.getInstance().setPartOnClickListener(mTv

xamarin android如何事件

在xamarin android單擊事件是最基礎的事情,看過菜鳥上的android教程時,java寫的都是監聽事件,為一個按鈕,單選按鈕、多選按鈕的單擊事件有三種,前面兩種用的非常普遍,也很簡易,我這裡主要就是寫一下xamarin android中的監聽事件。 1.使用委託

Android設定TextView部分文字變色及點選事件

首先要想實現文字變色以及點選,都需要使用到SpannableStringBuilder,例項化該類也很簡單,只需將你想要處理的字串當做引數 SpannableStringBuilder spannable = new SpannableStringBuilder(conte

Android實現TextView部分文字事件

    通常我們只需要用TextView來顯示文字資訊,展示給使用者看,而把點選相應的監聽事件交給Button等控制元件來處理,當然TextView也可以實現點選事件。有時候我們要對TextView中

Android實現搖晃手機的(搖一搖)

背景 專案中,需要在某些介面監聽使用者搖晃動作做出相應的反應。下面分Kotlin和Java兩種給出具體的程式碼。 實現方案(Kotlin) 新增SensorManagerHelper.kt class SensorManagerHelper(private

探討Android實現後臺(Service)按鍵的功能

一般來說需要做這個功能的大多數是機頂盒或者智慧電視,也就是AndroidTv。剛好這兩天公司的機頂盒有這麼一個需求,針對遙控器某些特殊按鍵,實現按鍵的監聽,並實現相應的功能。研究了一下,大概有這麼一些辦法。   第一種辦法是廣播,一般來說系統對於音量鍵和Hom

Android實現TextView文字連結的4種方式介紹及程式碼

Android實現TextView中文字連結的方式有很多種;總結起來大概有4種:用Spannable或實現它的類,如SpannableString來格式,部分字串等等,感興趣的你可以參考下 Android 的實現TextView中文字連結的方式有很多種。 總結起來大概有4

Button事件的五種方式

per amp 其中 show java new mpat vat ati 常用方式為匿名類和本類監聽的方法。其中本類監聽方法需要繼承View.OnClickListener接口之後,重寫onClick方法。 PS:重寫某一個方法的快捷鍵為Ctrl+O package c

Android 實現TextView部分文字和網路連結及電話號碼點選

前言 最近在寫專案的時候遇到了一個這樣的需求,要像qq一樣,點選評論的者的名字要跳轉評論者的使用者資訊介面,並且點選評論資訊中的web連結要跳轉到WebActivity,同時如果是其他數字的話要像qq一樣點選並顯示底部Dialog提示是播打電話還是複製號碼。 效

androidTextView部分文字設定超連結樣式並點選事件

package com.example.testandroid1; import android.app.Activity; import android.os.Bundle; import android.text.SpannableString; import and

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

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

Android實現textview文字滾動顯示(跑馬燈效果)

自定義Textview並對其進行改造,主要目的是讓textview獲取焦點,這樣文字才能滾動起來 public class MyTextView extends android.support.v7

android實現可自由移動、點選事件的懸浮窗

最近因為專案需要,自己實現了個可以自由移動,並且長按可以跳出一個控制播放的,額,大的懸浮窗。 好,開始吧。首先我們先聊許可權,懸浮窗需要在manifest中宣告一個許可權: <uses-permission android:name="androi

android TextView部分文字可點選 不同大小文字新增背景且居中顯示

txt.setText("這是一條測試文字"); SpannableString clickString = new SpannableString("可點選文字");

Android 實現TextView垂直向上滾動(仿向上滾動文字的廣告)

配置方法:project中build.gradle檔案內:allprojects { repositories { ... maven { url "https://jitpack.io" }

android中EditText文字的方法:addTextChangedListener()

      最近遇到這樣一個問題,想把一個activity文字框中輸入的內容,在跳到另外一個activity時,這個文字框裡的值仍不變。我通過bundle進行了傳遞,但是就是傳不過去。在網上查了資料,原來是沒有用addTextChangedListener()這個方法進行監聽

Android中GridView中onTouch(1)item實現觸控執行縮放動畫的功能

功能:當用戶點選元素,執行圖片縮放動畫,當按住元素並且移開位置離開該元素,之前元素將執行放大回到原狀,而新選中的元素將進行縮放。 效果圖 即:gridview中的元素按住就會下陷變小,移動離開就會變回原樣,點選就會進入跳轉介面 由於為了完整的監聽ontouch事件,即能監

Android在Service中全域性輸入法的三種可實現方式

在Service中全域性監聽輸入法意思就是可以在任何介面都可以監聽輸入法,不侷限於自己的APP。 方法一:根據切換輸入法會在通知欄顯示通知實現 優點:簡單高效 缺點:手機必須安裝兩個以上輸入法 通常語言為中文的情況下切換輸入法的通知欄標題有”選擇輸

Android TextView部分文字指定顏色

String sm = "本功能為增值稅0申報,請確認您是否進行增值稅0申報?\n確認無誤後,請點選下方“確認申報”按鈕。";<pre name="code" class="java"&g

Android開發入門之實現動態註冊廣播網路變化

最近在學習Android開發中廣播的相關內容。 註冊廣播的方式有兩種,在程式碼中註冊和在AndroidManifest.xml中註冊,其中前者也被稱為動態註冊,後者被稱為靜態註冊。以註冊廣播監聽網路變化為例,附上實現動態註冊的步驟: 1、 class Netwo