Android -- TextView (3)

來源:互聯網
上載者:User

標籤:

1.

     點選連結並且可以跳轉到響應的網頁中去

2.  實現代碼

  

textView1 = ( TextView ) this.findViewById ( R.id.textview1 );textView2 = ( TextView ) this.findViewById ( R.id.textview2 );String html = "<font color=‘red‘>I love android</font><br>";//設定字型為紅色,然後換行html += "<font color=‘#0000ff‘><big><i>I love Java</i></big></font><p>";//設定字型藍色,大號,斜體,設為一段html += "<big><a href=‘http://www.baidu.com‘>百度</a></big>";//為百度這個文字添加超連結CharSequence charSequence = Html.fromHtml ( html );textView1.setText ( charSequence );textView1.setMovementMethod ( LinkMovementMethod                              .getInstance ( ) );//設定文本中的資訊點擊能夠產生超連結String text = "我的URL:http://www.sina.com\n";text += "我的Email:[email protected]\n";text += "我的電話:+ 86 010-87439874";textView2.setText ( text );textView2.setMovementMethod ( LinkMovementMethod                              .getInstance ( ) );

 3.  說明

    常用的可以再TextView中設定的標籤有:

  • <font>:設定顏色和字型。
  • <big>:設定字型大號
  • <small>:設定字型小號
  • <i><b>:斜體粗體
  • <a>:串連網址
  • <img>:圖片

  使用這些標籤可以用Html.fromHtml方法將這些標籤的字串轉換成CharSequence介面,然後在 TextView.setText()中進行設定。如果需要響應設定的HTML標籤進行響應,需要設定 TextView.setMovementMethod(LinkMovementMethod.getInstance())。

 

android:autoLink屬性來設定,以下是android:autoLink屬性的介紹:

  • None:預設的,不匹配任何串連。
  • web:網址。
  • email:郵箱。
  • phone:電話號碼。
  • map:匹配映射網址。
  • all:匹配所有串連。

 

-------------------------------------------------------------------------------------------------------------------------------

      

實現代碼

    

public int getResouceId(String name){try {//根據資源的ID的變數名獲得Field的對象,使用反射機制來實現的Field field=R.drawable.class.getField(name);//取得並返回資源的Id的欄位(靜態變數)的值,使用反射機制return Integer.parseInt(field.get(null).toString());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return 0;}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TextView textView=(TextView)this.findViewById(R.id.textview1);textView.setTextColor(Color.BLACK);textView.setBackgroundColor(Color.WHITE);textView.setTextSize(20);String html="映像1<img src=‘v078_24‘/>映像2<img src=‘v079_24‘/>映像3<img src=‘v080_24‘/><p>";html+="映像4<a href=‘http://www.baidu.com‘><img src=‘v081_24‘></a>映像5<img src=‘v082_24‘/>";CharSequence charSequence=Html.fromHtml(html, new ImageGetter() {@Overridepublic Drawable getDrawable(String source) {//獲得系統資源的資訊,比片的資訊Drawable drawable=getResources().getDrawable(getResouceId(source));//第三個圖片檔案按照50%的比例進行壓縮if(source.equals("v080_24")){drawable.setBounds(0, 0, drawable.getIntrinsicWidth()/2, drawable.getIntrinsicWidth()/2);}else{drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());}return drawable;}}, null);textView.setText(charSequence);textView.setMovementMethod(LinkMovementMethod.getInstance());}

 -----------------------------------------------------------------------------------------------------------------------------

啟動Activity   

    

TextView textView1=(TextView)this.findViewById(R.id.textview1);TextView textView2=(TextView)this.findViewById(R.id.textview2);String text1="顯示Activity1";String text2="顯示Activity2";//主要用來拆分字串SpannableString spannableString=new SpannableString(text1);SpannableString spannableString2=new SpannableString(text2);spannableString.setSpan(new ClickableSpan() {//設定字串的整個長度都能點擊有效@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubIntent intent=new Intent(MainActivity.this, Activity1.class);startActivity(intent);}}, 0, text1.length(), SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);spannableString2.setSpan(new ClickableSpan() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubIntent intent=new Intent(MainActivity.this, Activity2.class);startActivity(intent);}}, 0, text2.length(), SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);textView1.setText(spannableString);textView2.setText(spannableString2);// 設定點選連結可以跳轉textView1.setMovementMethod(LinkMovementMethod.getInstance());textView2.setMovementMethod(LinkMovementMethod.getInstance());

 -----------------------------------------------------------------------------------------------------------------------------

 

Android -- TextView (3)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.