android 自定義TextView中Html超連結點選事件詳解
public class TextHtmlActivity extends Activity { private TextView text; private Activity mActivty; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.text_html_layout); mActivty = this; text = (TextView) findViewById(R.id.text); text.setText(Html.fromHtml("<b>text3:</b> " + "Text with a " + "<a href=\"http://www.baidu.com\">link</a> " + "點選這個連線---"+ "<a href=\"http://www.dewen.io/q/1744\">連線</a> "+ "created in the Java source code using HTML.")); text.setMovementMethod(LinkMovementMethod.getInstance()); CharSequence str = text.getText(); if(str instanceof Spannable){ int end = str.length(); Spannable sp = (Spannable)text.getText(); //構建Spannable物件、繼承Spanned、Spanned物件繼承CharSequener URLSpan[] urls=sp.getSpans(0, end, URLSpan.class); //找出text中的a標籤 //SpannableStringBuilder、SpannableString物件跟String物件差不多、只是比String物件多setSpan, //可以給字串設定樣式、大小、背景色...而 SpannableStringBuilder跟SpannableString的關係就跟String跟StringBuffer關係一樣 SpannableStringBuilder style=new SpannableStringBuilder(str); style.clearSpans();//should clear old spans for(URLSpan url : urls){ MyClickSpan myURLSpan = new MyClickSpan(); //設定樣式其中引數what是具體樣式的實現物件,start則是該樣式開始的位置,end對應的是樣式結束的位置, // 引數 flags,定義在Spannable中的常量 style.setSpan(myURLSpan,sp.getSpanStart(url),sp.getSpanEnd(url),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } text.setText(style); } } private class MyClickSpan extends ClickableSpan{ @Override public void updateDrawState(TextPaint ds) { ds.setUnderlineText(false); super.updateDrawState(ds); } @Override public void onClick(View widget) { Toast.makeText(mActivty,"click link",Toast.LENGTH_SHORT).show(); } } }
相關推薦
android 自定義TextView中Html超連結點選事件詳解
public class TextHtmlActivity extends Activity { private TextView text; private Activity mActivty; @Override protected vo
Android 自定義view(1) --- Attr、Style和Theme詳解
轉載:https://www.jianshu.com/p/dd79220b47dd 概念說明: Attr:屬性,風格樣式的最小單元; Style:風格,它是一系列Attr的集合用以定義一個View
CHtmlView 和 Webbrowser 控制元件中超連結點選事件的獲取與檢測
本文轉自:http://live.aulddays.com/tech/08/chtmlviewlinkclick/ 在自己的程式中使用 CHtmlView 或直接嵌入 Webbrowser 控制元件顯示網頁時,常常需要獲取網頁元素的一些事件,以實現對網頁顯示的控制或與網
RecyclerView新增點選事件和textView的超連結點選事件衝突
最近做了一個小的demo,使用RecyclerView,item要求顯示一段文字,文字包含點選事件,結果發現,超連結的點選事件和RecyclerView的點選事件發生衝突,於是上網搜尋相關問題,走了一些彎路,最後在國外的網站發現解決方法, 以下是解決該問題的步驟: 1.
WebView載入網頁以及處理裡面的超連結點選事件
private Context context;private WebView webView;private String weburl1 = "http://4004.wuurl.com/";private String weburl2 = "http://act.uniny.com/qiman16052
android 自定義TextView 流光字,彩色text
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="ht
Android自定義TextView 自定義設定圓角背景色
public class RoundTextView extends TextView { private int mBgColor = 0; private int mCornerSize = 18; public RoundTextView(Context cont
自定義TextView中動態設定圖片大小
開發過程中,很多場景中都有用到文字和圖片並列顯示的情況,如下圖示: 上圖紅色框中的佈局你會怎麼實現? 1、在水平LinearLayout佈局中放一個ImageView和一個TextView進行實現? 2、在TextView中設定其drawableL
Android 自定義View 中attr屬性 深入解析
一、attr和styleable 自定義View,如果想在xml指定引數(例如:改變字型顏色,字型大小),需要宣告一個styleable,並在裡面自己定義一些attr屬性。 attr不依賴於styleable,styleable只是為了方便attr的使用。
Android 自定義TextView實現文字內容自動調整字型大小以適應TextView的大小
/** * 自定義TextView,文字內容自動調整字型大小以適應TextView的大小 * @author yzp */ public class AutoFitTextView extends TextView { private
筆記——Android自定義seekbar中,滑塊顯示不全解決辦法
自定義seekBar的時候發現,圓形滑塊總有一部分被覆蓋,設定什麼padding之類的病不起作用,查詢資料發現 android:thumbOffset="0dp" 在佈局檔案中加上thumbOffset屬性可以解決,thumbOffset屬性表示滑塊距離左側的間距。 下面
a標籤超連結點選後無虛邊框,完美自定義超連結籤樣式
最近在做專案的時候,為了改變A標籤的固有樣式,老闆要求標籤的下劃線【text-decoration】與文字之間的距離應該增加1px。由於知識簡陋,沒找到好的方法,於是我就想到了笨方法:把text-decoration設定為none,然後給標籤註冊了一個mouseover事件
Android自定義TextView實現文字自動滾動
效果:迴圈滾動,類似廣告條思路:開啟定時器重新整理繪製文字的位置即可達到效果。步驟1:新建ScrollTextView類繼承自TextView。程式碼如下:public class ScrollTextView extends TextView { private
Android 自定義TextView實現描邊
前言: 這裡呢就是給自己的做的專案一些小功能做一個筆記。也希望能對大家能有幫助。 正文: 這裡就簡單的自定義了TextView 描邊的效果。更多效果, 大家可以參照這個大神的:點選開啟連結 以及這位大神:點選開啟連結 我這裡寫的就不像上面兩位大神功能那麼強大了。
Android自定義TextView省略號樣式
在佈局xml中設定textView的欄位 android:maxLines="2" android:ellipsize="end"欄位之後,textview會自動壓縮行數,並且對壓縮掉的部分用...顯示。如果不想用...而想用。。。或者... ...就需要自定義這個省略號
Android—自定義TextView字型!
package com.insight.androidfont; import android.content.Context; import android.graphics.Typeface; import android.util.AttributeSet; import android.widget.
Android 自定義OA平臺制作ListView單擊事件失效
rcc idt mes red left emc sde add XML 因為自帶新OA平臺制作QQ2952777280【話仙源碼論壇】hxforum.com【木瓜源碼論壇】papayabbs.com 的listView不能滿足項目需求,通過實現自己的Adapter去繼承A
android 監聽webview的超連結點選
webview.setWebViewClient(new WebViewClient(){ @Override
Android 自定義View實現多行RadioGroup單選(多選)
我們都知道RadioGroup可以實現選擇框,但它有一個侷限性,由於它是繼承自LinearLayout的,所以只能有一個方向,橫向或者縱向; 好在我們可以自定義View來實現多行的一個RadioGroup(我把它命令為MultiLineRadioGroup); 在貼出程式碼
Spark資料過濾、自定義分割槽、Shuffer調優 經典案例(詳解)
案例: 根據學科取得最受歡迎的老師的前兩名 這個是資料 http://bigdata.edu360.cn/zhangsan http://bigdata.edu360.cn/zhangsan http://bigdata.edu360.cn/lisi http: