android 入门 textview editText 跑马灯 和 高亮显示 SpannableString

package com.zte.android.lession;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.telephony.PhoneNumberUtils;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.TextUtils;
import android.text.method.LinkMovementMethod;
import android.text.style.BackgroundColorSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.URLSpan;
import android.widget.EditText;
import android.widget.TextView;
/**
 * @author rychenga
 * textview、edittext组件
 */
public class Activity_EditText_TextView_002 extends Activity
{
	private TextView tv1,tv2,tv3,tv4;
	private EditText et1,et2;
	/**
	 * onCreate是Activity的生命周期方法之一。
	 * 当系统创建Activity的对象实例时调用onCreate方法。
	 * 这个方法是由系统自己调用的,一般不用管它。
	 * 通常在该方法中创建或从XML Layout中装载视图或进行其他的初始化工作。
	 */
	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		//设置视图
		setContentView(R.layout.textview_edittext_layout);
		/*** tv1   第一个textview用xml设置   */
		tv1 = (TextView)findViewById(R.id.lession002_textView1);
		tv1.setSelected(true);
		
		/*** 第二个textview用代码设置 */
		//获取textview组件
		tv2 = (TextView)findViewById(R.id.lession002_textView2);
		tv2.setText("nCreate是Activity的生命周期方法之一。当系统创建Activity的对象实例时调用onCreate方法。 ");
		tv2.setSingleLine();
		tv2.setTextColor(android.graphics.Color.WHITE);
		//设置跑马灯效果,需设置焦点
		tv2.setSelected(true);
		tv2.setEllipsize(TextUtils.TruncateAt.MARQUEE);
		//跑马灯滚动次数
		tv2.setMarqueeRepeatLimit(4);
		
		//*********************设置超链接******************************
		/**  
		  * new StrikethroughSpan() //设置删除线  
		  * new URLSpan("http://www.baidu.com")//http超链接  
		  * new URLSpan("tel:4155551212")//电话超链接  
		  */ 
		tv4 = (TextView)findViewById(R.id.lession002_textView004);
		SpannableString ss = new SpannableString("我的Android博客,高亮测试SpannableString,0557-6230067");
		//设置超链接
		ss.setSpan(new URLSpan("http://iteye.com"), 2,9, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
		//设置高亮1
		ss.setSpan(new BackgroundColorSpan(Color.RED),9,11, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
		//设置高亮2
		ss.setSpan(new ForegroundColorSpan(Color.YELLOW),12,16,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
		//设置电话链接
		ss.setSpan(new URLSpan("tel:05576230067"), 32, 44, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
		//设置可点击
		tv4.setMovementMethod(LinkMovementMethod.getInstance());
		tv4.setText(ss);
		/**
		 * SpannableString或SpannableStringBuilder,
		 * 它们的区别在于 SpannableString像一个String一样,
		 * 构造对象的时候传入一个String,之后再无法更改String的内容,
		 * 也无法拼接多个 SpannableString;
		 * 而SpannableStringBuilder则更像是StringBuilder,
		 * 它可以通过其append()方法来拼接多个String
		 */
		et2 = (EditText)findViewById(R.id.lession002_editText2);
		et2.setLines(3);
		et2.setText("这是一个3行的,\n默认不能修改的\nedittext");
		et2.setEnabled(false);
	}
}


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
	 <TextView
        android:id="@+id/lession002_textView003"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="http://user.qzone.qq.com/464344269/infocenter"
        android:autoLink="web" />
	
	 <TextView
        android:id="@+id/lession002_textView004"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
	 
    <!-- xml 设置textview属性 -->
    <TextView
        android:id="@+id/lession002_textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/lession002_edittext_textview001"
        android:textColor="@color/lession002_color_textview002"
        android:textSize="28dp"
        android:ellipsize="marquee"
        android:scrollHorizontally="true"
        android:singleLine="true"
        android:marqueeRepeatLimit="marquee_forever" />
	
    <!-- 代码设置 -->
    <TextView
        android:id="@+id/lession002_textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <!-- xml设置 -->
    <EditText
        android:id="@+id/lession002_editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请填写手机号码"
        android:phoneNumber="true" >
        
    </EditText>
 	<!-- 代码设置 -->
    <EditText
        android:id="@+id/lession002_editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    
</LinearLayout>

你可能感兴趣的:(SpannableString)