先把源码附上:ApiDemos->Text->Link.java

/*

* Copyright (C) 2007 The Android Open Source Project

*

* Licensed under the Apache License, Version 2.0 (the "License");

* you may not use this file except in compliance with the License.

* You may obtain a copy of the License at

*

* http://www.apache.org/licenses/LICENSE-2.0

*

* Unless required by applicable law or agreed to in writing, software

* distributed under the License is distributed on an "AS IS" BASIS,

* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

* See the License for the specific language governing permissions and

* limitations under the License.

*/

package com.example.android.apis.text;

import com.example.android.apis.R;

import android.app.Activity;

import android.graphics.Typeface;

import android.os.Bundle;

import android.text.Html;

import android.text.SpannableString;

import android.text.Spanned;

import android.text.method.LinkMovementMethod;

import android.text.style.StyleSpan;

import android.text.style.URLSpan;

import android.widget.TextView;

public class Link extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.link);

// text1 shows the android:autoLink property, which

// automatically linkifies things like URLs and phone numbers

// found in the text. No java code is needed to make this

// work.

// text2 has links specified by putting <a> tags in the string

// resource. By default these links will appear but not

// respond to user input. To make them active, you need to

// call setMovementMethod() on the TextView object.

TextView t2 = (TextView) findViewById(R.id.text2);

t2.setMovementMethod(LinkMovementMethod.getInstance());

// text3 shows creating text with links from HTML in the Java

// code, rather than from a string resource. Note that for a

// fixed string, using a (localizable) resource as shown above

// is usually a better way to go; this example is intended to

// illustrate how you might display text that came from a

// dynamic source (eg, the network).

TextView t3 = (TextView) findViewById(R.id.text3);

t3.setText(

Html.fromHtml(

"<b>text3:</b> Text with a " +

"<a href=\"http://www.google.com\">link</a> " +

"created in the Java source code using HTML."));

t3.setMovementMethod(LinkMovementMethod.getInstance());

// text4 illustrates constructing a styled string containing a

// link without using HTML at all. Again, for a fixed string

// you should probably be using a string resource, not a

// hardcoded value.

SpannableString ss = new SpannableString(

"text4: Click here to dial the phone.");

ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 6,

Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

ss.setSpan(new URLSpan("tel:4155551212"), 13, 17,

Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

TextView t4 = (TextView) findViewById(R.id.text4);

t4.setText(ss);

t4.setMovementMethod(LinkMovementMethod.getInstance());

}

}

再把布局代码附上:ApiDemos->res->layout->link.xml

<?xml version="1.0" encoding="utf-8"?>

<!-- Copyright (C) 2007 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

-->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="wrap_content">

<!-- Four TextView widgets, each one displaying text containing links. -->

<!-- text1 automatically linkifies things like URLs and phone numbers. -->

<TextView xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/text1"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:autoLink="all"

android:text="@string/link_text_auto"

/>

<!-- text2 uses a string resource containing explicit <a> tags to

specify links. -->

<TextView xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/text2"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:text="@string/link_text_manual"

/>

<!-- text3 builds the text in the Java code using HTML. -->

<TextView xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/text3"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

/>

<!-- text4 builds the text in the Java code without using HTML. -->

<TextView xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/text4"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

/>

</LinearLayout>

再把相关的字符资源贴上:ApiDemos->res->values->strings.xml

<string name="link_text_auto"><b>text1:</b> This is some text. In

this text are some things that are actionable. For instance,

you can click on http://www.google.com and it will launch the

web browser. You can click on google.com too. And, if you

click on (415) 555-1212 it should dial the phone.

</string>

<string name="link_text_manual"><b>text2:</b> This is some other

text, with a <a href="http://www.google.com">link</a> specified

via an &lt;a&gt; tag. Use a \"tel:\" URL

to <a href="tel:4155551212">dial a phone number</a>.

</string>

最后上效果图:


原创:Android 基础 控件 之 TextVIew(一)

这里重点说一些讲解吧!

1.设置TextView支持Html内容:

TextView tv= (TextView) findViewById(R.id.text3);
tv.setText(Html.fromHtml("<b>text:</b> Text with a " +

"<a href=\"http://www.google.com\">link</a> " + created in the Java source code using HTML."));

2.设置TextView支持滚动:

tv.setMovementMethod(LinkMovementMethod.getInstance());

3.设置TextView支持点击拨打电话:

SpannableString ss = new SpannableString("text4: Click here to dial the phone.");

ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 6,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new URLSpan("tel:4155551212"), 13, 17,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

TextView t4 = (TextView) findViewById(R.id.text4);
t4.setText(ss);
t4.setMovementMethod(LinkMovementMethod.getInstance());

..... 待续,go to ...

更多相关文章

  1. TabHost与RadioGroup结合完成的菜单【带效果图】5个Activity
  2. Android之系统自带的文字外观设置及实际显示效果图 android:text
  3. Android中gravity的各种效果图
  4. Android中使用Gallery_tabhost来实现标签效果图源码
  5. android 使用xml selector设置按钮点击效果图片
  6. Android实时监控项目第一篇:项目分析及AVD模拟效果图
  7. Android官方设计常用icon以及color颜色RGB值和对应颜色效果图

随机推荐

  1. Android 屏幕横竖屏切换
  2. ubuntu10.10下编译android内核源码
  3. Android Thread 介绍与实例
  4. Android: couldn't save which view has
  5. android设置Activity背景透明
  6. 抽屉类
  7. Android(安卓)中访问SDCARD
  8. Android Framework系统服务详解
  9. 转载:Android之PreferenceActivity
  10. Android 修改EditText的光标颜色和背景色