代码改变世界

Android小項目之--Linkify詳細應用

2010-06-09 20:35  Terry_龙  阅读(4744)  评论(11编辑  收藏  举报

  Android  正在發展得很快,現在的應用範圍己經非常廣了,電視、車載應用、手機、電腦等,這么多平臺都去支持 Android  開源系統,這對于我們程序無疑是一個很好的消息,相信我們中國的山寨技術很快就能將這一開源系統融匯貫通,發揚中國的優良傳張,這一結果直接使得開發 Android  應用的程序員大幅度的缺口,市場需求日益宏大。前幾天坐公交車的時候看到車上有很多人都拿著觸摸屏手機,這一現象讓我很驚訝,看來鍵盤手機正在一步一步滅亡(個人不喜歡鍵盤手機)。

  個人臆想:Googled 在未來迅速擴大自己的移動市場和應用市場,到時家庭的電器將不再是獨立一體的,這些電器將統一由 Android  小機器管理,小機器人下達命令去執行每一件傢具必須要做事。。。。。。有點科幻片了~!

  廢話了一把,本篇將介紹 Android  系統內置的一個具有正則表達式功能的小功能,雖然簡單但頗為實用。

  試想一下,當我們做一個很酷的應用的時候,裏面有好多有趣的東西,雖然這個小應用是免費的,但公司也要有收益才能支撐下去,所以我們想了一下用內置廣告的功能,但是有些時候我們應用下方只能用文字表達,但那些文字我們希望輸入的是一個網址它就會幫我們跳到網站上去,是郵箱它就會幫我們跳到郵件服務上去,甚至是一個電話號碼,它也能幫我們做到用戶點擊時打電話給我們。。這么酷的事 Android  早就幫我們想好了,只需要一個類即可實現:Linkify

  Linkify是一個輔助類,通過Regex樣式匹配,自動地在 TextView 類和繼承的類中創建超連結,符合特定的Regex樣式的文本會被變成可點擊的超連結,這些超連結隱式地調用 startActivity(new Intent(Intent.ACTION_VIEW,uri)) ,符合的文本會作為目標URI.。

  你可以指定任意的字符串樣式作為連結,如:電話號碼,郵箱,網址等。

  使用方法如下:

    myTextView.setText(myEditText.getText());
                Linkify.addLinks(myTextView, Linkify.WEB_URLS|
                        Linkify.PHONE_NUMBERS|Linkify.EMAIL_ADDRESSES);

 

  Linkify.addLinks 支持多達6種方法,具體詳細使用方法可查看API。不過還有另外一種更為簡單的的方法使用此功能,即可以使用layout 資源為 TextView添加autoLink。它支持一個或多個(用|分割)自定義值:none、web、email、Phoneall,下面是一段設置的XML代碼:

<TextView

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:text=”@string/linkify_me”

android:autoLink=”phone|email|web|”

/>

 

  運行效果圖:

如果你有什麽疑問或者建議 你可以:QQ285735942Email:terryyhl@gmail.com

由於代碼簡單所以沒有提供源碼,您可以參考自行測試。。