zoukankan      html  css  js  c++  java
  • Android玄铁剑之TextView之写点儿嘛都行

    传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229

     

    玄铁剑
            金庸武侠第一神剑!剑魔独孤求败四十岁前持之横行天下,后为神雕侠杨过所得,持之亦无敌于天下。神雕侠隐退前将此剑赠与小东邪郭襄。襄阳城破前,郭靖、黄蓉夫妇请高明工匠熔之铸成倚天剑、屠龙刀二神兵,并藏《九阴真经》、《降龙十八掌掌谱》与《武穆遗书》于其中。

            本节我们学习如何利用Android平台“玄铁剑”TextView来显示丰富的文本内容(不同大小、字体、颜色的文本或URL),下面给出该情景的案例:

    一、案例技术要点

    1.android.text.Html.fromHtml(...):提供包含Html标签格式的文本内容。

    2.android.text.method.LinkMovementMethod:提供超链接功能。TextView需要此功能时引入该类的实例即可。

    二、案例代码陈列

    AndroidManifest.xml

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.android.textview"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="15" />
    
        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
            <activity
                android:name=".TextViewMainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
    strings.xml
    <resources>
        <string name="app_name">Textview显示丰富的文本</string>
        <string name="link_text"><a href="tel:18771970258">打电话</a></string>
    </resources>
    main.xml
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
        
        <TextView android:id="@+id/tv1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="20dp" />
        
        <TextView android:id="@+id/tv2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="20dp"
            android:autoLink="all" 
            android:textSize="20sp"
            android:text="@string/link_text" />
        
    </LinearLayout>
    TextViewMainActivity.java
    package com.android.textview;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.text.Html;
    import android.text.method.LinkMovementMethod;
    import android.widget.TextView;
    
    /**
     * TextView案例一:显示丰富的文本(不同大小、字体、颜色的文本或URL)
     * @author lynnli1229
     */
    public class TextViewMainActivity extends Activity {
        private TextView textView1, textView2;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            textView1 = (TextView) findViewById(R.id.tv1);
            textView2 = (TextView) findViewById(R.id.tv2);
            
            // 添加一段包含Html的标签格式的文本
            String html = "<font color='red'>I love android</font><br>";
            html+="<font color='#0000ff'><big><i>I love android</i></big></font><p>";
            html+="<big><a href='http://www.baidu.com'>百度</a></big>";
            CharSequence charSequence1 = Html.fromHtml(html);
            textView1.setText(charSequence1);
            // 点击时生成超链接
            textView1.setMovementMethod(LinkMovementMethod.getInstance());
            
            String text = "我的URL:http://www.sina.com.cn\n";
            text+="我的email:lynnli1229@gmail.com\n";
            text+="我的电话:+ 86 010-85859696";
            textView2.setText(text);
            // 点击时生成超链接
            textView2.setMovementMethod(LinkMovementMethod.getInstance());
            
        }
    
    }
    三、案例效果展示
  • 相关阅读:
    聊聊WS-Federation
    用双十一的故事串起碎片的网络协议(上)
    责任链模式的使用-Netty ChannelPipeline和Mina IoFilterChain分析
    最小化局部边际的合并聚类算法(中篇)
    最小化局部边际的合并聚类算法(上篇)
    UVaLive 7371 Triangle (水题,判矩形)
    UVaLive 7372 Excellence (水题,贪心)
    POJ 3312 Mahershalalhashbaz, Nebuchadnezzar, and Billy Bob Benjamin Go to the Regionals (水题,贪心)
    UVa 1252 Twenty Questions (状压DP+记忆化搜索)
    UVa 10817 Headmaster's Headache (状压DP+记忆化搜索)
  • 原文地址:https://www.cnblogs.com/innosight/p/3271197.html
Copyright © 2011-2022 走看看