`
chengyu2099
  • 浏览: 466758 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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>
  • 大小: 69 KB
分享到:
评论

相关推荐

    android textview 无焦点 跑马灯 水平滚动

    本篇文章将详细介绍如何在Android中实现TextView的无焦点跑马灯和水平滚动效果。 首先,我们需要理解TextView的基础属性。`android:singleLine`属性用于将文本限制为一行,`android:ellipsize`属性则控制当文本超出...

    Android ListView,TextView跑马灯Demo

    而跑马灯(Marquee)效果则是TextView的一种特殊滚动显示方式,通常用于显示过长文本时,使其能在有限的空间内循环滚动。本Demo重点是实现ListView的每一项都有TextView的跑马灯效果。 首先,我们来看TextView的...

    Android垂直滚动TextView跑马灯Demo

    本示例"Android垂直滚动TextView跑马灯Demo"就是一种常见的UI特效,它主要用于显示大量的文本内容,尤其适用于展示滚动公告、新闻标题或者广告等内容。跑马灯效果在Android中通常是通过自定义View或者对现有控件进行...

    android TextView 跑马灯效果

    实现TextView的跑马灯效果主要涉及到两个关键属性:`android:singleLine`和`android:ellipsize`。`android:singleLine`属性使得TextView只显示一行文本,超出部分会被隐藏;而`android:ellipsize`属性则定义了超出...

    Android-TextView换行排版混乱-允许设置SpannableString

    总之,理解和熟练掌握`TextView`的换行机制以及`SpannableString`的使用,对于提升Android应用的用户体验至关重要。通过定制`TextView`,我们可以解决排版混乱的问题,同时充分利用`SpannableString`的特性,实现...

    TextView跑马灯、闪烁和跳动动画

    在Android开发中,TextView是...总之,TextView的跑马灯、闪烁和跳动动画是Android开发中增强用户体验的重要手段。通过理解和实践这些效果,开发者可以为用户提供更加丰富的视觉体验,同时提升应用的吸引力和互动性。

    textview(跑马灯效果)文字长短不限循环播放

    在Android开发中,TextView是用于显示文本的基本组件。然而,有时候我们希望文本能像跑马灯那样滚动播放,尤其在屏幕空间有限时,这可以提供一种动态且节省空间的展示方式。标题“textview(跑马灯效果)文字长短不...

    android三种方式实现TextView跑马灯效果

    在Android开发中,为TextView添加跑马灯效果是一种常见的需求,它可以使得较长的文字在有限的空间内循环滚动显示,增加界面的动态感。本篇文章将详细讲解三种实现TextView跑马灯效果的方法。 ### 1. 使用`ellipsize...

    TextView滚动,跑马灯效果终极解决方案

    首先,要实现TextView的跑马灯效果,我们需要在XML布局文件中设置`android:singleLine="true"`(对于API 26及以上版本,需使用`android:maxLines="1"`)和`android:ellipsize="marquee"`。这将使TextView单行显示,...

    android TextView实现跑马灯效果

    `android:ellipsize="marquee"` 用于实现跑马灯效果,`android:focusable="true"` 和 `android:focusableInTouchMode="true"` 用于让 TextView 获得焦点,以便实现跑马灯效果。 在布局文件中,可以直接使用以下代码...

    Android自定义TextView实现跑马灯效果

    总结,实现Android自定义TextView的跑马灯效果,主要涉及以下几个步骤: 1. 创建自定义TextView类,继承自AppCompatTextView。 2. 重写onDraw()方法,实现文本的滚动绘制。 3. 判断文本宽度和TextView宽度,决定是否...

    android TextView跑马灯

    以上就是关于Android中TextView跑马灯效果的基本介绍和实现方法。通过合理设置属性和编写适当的代码,我们可以创建出满足需求的跑马灯效果。同时,自定义的MarqueeTextView可能会提供更丰富的定制选项,以适应各种...

    androidTextView实现跑马灯的效果

    标题和描述中提到的“跑马灯效果”是指在`TextView`中,当文本内容过长无法完全显示时,文本会从一侧滚动到另一侧,形成循环滚动的效果。这种效果在通知栏、广告条或者状态栏等场景中较为常见。 实现跑马灯效果的...

    安卓跑马灯相关-TextView滚动跑马灯效果终极解决方案.rar

    在Android中,TextView的跑马灯效果是通过设置`android:singleLine`和`android:ellipsize`属性来实现的。`android:ellipsize`属性可以设置为`marquee`,从而激活跑马灯滚动。 首先,我们来看`MarqueeTest`这个可能...

    android自定义横向跑马灯TextView(两种,即使一个字符也能跑马灯)

    "android自定义横向跑马灯TextView"就是一个典型的示例,它允许文字在一个视图内不断滚动,模拟LED显示屏上的跑马灯效果。这种效果通常用于显示通知、提示信息或者标题,即使只有一个字符也能实现滚动。 跑马灯效果...

    TextView的跑马灯效果demo

    【TextView的跑马灯效果】在Android开发中,TextView是一种常用的UI组件,用于显示文本信息。而"跑马灯"效果则是TextView的一个特殊功能,它可以让文字在TextView中连续滚动,仿佛文字在显示屏上奔跑,这种效果在...

    使用TextView实现跑马灯效果

    本教程主要围绕如何在Android中使用`TextView` 实现跑马灯效果展开。首先,我们需要了解`TextView` 的基本属性和设置方法。在XML布局文件中,我们可以这样创建一个`TextView`: ```xml &lt;TextView android:id="@+id...

    特效-textView跑马灯

    在Android开发中,"特效-textView跑马灯"是一种常见的UI动态效果,它通常用于显示滚动的文字信息,比如新闻标题或者广告标语。这种效果模仿了实际生活中的跑马灯,即文字在一个固定区域里循环滚动,给人一种连续不断...

    Android高级应用源码-跑马灯效果MarqueTextView textview 循环 跑马灯效果.zip

    在Android开发中,跑马灯效果(也称为滚动文本或循环滚动)是一种常见的UI特效,常用于显示过长的文本,使用户能在有限的空间内查看完整信息。本资源"Android高级应用源码-跑马灯效果MarqueTextView textview 循环 ...

    实现textView 跑马灯效果

    要实现TextView的跑马灯效果,通常需要结合Android的属性和自定义布局来完成。以下是详细步骤和相关知识点: 1. **设置Ellipsize属性**: TextView有一个名为`ellipsize`的属性,它允许我们在文本过长时添加省略号...

Global site tag (gtag.js) - Google Analytics