`
chengyu2099
  • 浏览: 474187 次
  • 性别: 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
分享到:
评论

相关推荐

    A0207TextView的使用1

    - `android:ellipsize`:控制当文本过长时的显示方式,如"start"(省略号在开头)、"end"(省略号在结尾)、"middle"(省略号在中间)和"marquee"(跑马灯效果)。 2. **文本格式化**: TextView还支持其他格式化...

    Android API中文详解

    - **android:ellipsize**:当文本过长时,定义如何截断显示,可以选择在开头、结尾或中间显示省略号,甚至以跑马灯形式滚动显示。 - **android:freezesText**:保存文本内容和光标位置,对于复杂的编辑场景特别有用...

    android开发学习笔记第二季

    在Android中,可以利用`TextView`的`android:autoLink`属性来自动识别并高亮显示文本中的链接。此属性有多个选项可供选择: - `none`:不启用任何链接检测。 - `web`:只识别网页链接。 - `email`:只识别电子邮件...

    hhhhh安卓开发教程大全

    hhhhh安卓开发教程大全

    avem-labs_Avem_1740990015.zip

    avem-labs_Avem_1740990015.zip

    25883-mofangmall.com 微信群管理机器人系统网站.zip

    微信群机器人管理系统源码 微信群机器人管理系统源码 支持同登陆多个微信 源码类型: C/S 开发环境: VS2010 SQL2008R2 菜单功能 1、支持同时登录多个微信 2、支持机器人聊天(笑话,成语接龙、故事会、智力等等) 3、支持签到 4、可自定义回复 5、可自定义红包语 6、支持定期发送公告(如群规,广告)等 1、WeChatRobots后台配置web版 2、数据库在WeiChartGroup.Net/app_data中,附加即可

    https://upload.csdn.net/creation/uploadResources?spm=1003.2018.3001.4314

    https://upload.csdn.net/creation/uploadResources?spm=1003.2018.3001.4314

    名字微控制器_STM32_课程_DeepBlue_1740989720.zip

    名字微控制器_STM32_课程_DeepBlue_1740989720.zip

    S7-200Smart恒压供水程序示例与485通讯实践:操作指南与案例解析,S7-200 Smart可编程控制器恒压供水程序设计与实现,附带485通讯范例,S7-200Smart 恒压供水程序样例+4

    S7-200Smart恒压供水程序示例与485通讯实践:操作指南与案例解析,S7-200 Smart可编程控制器恒压供水程序设计与实现,附带485通讯范例,S7-200Smart 恒压供水程序样例+485通讯样例 ,S7-200Smart; 恒压供水程序样例; 485通讯样例,S7-200Smart程序样例:恒压供水及485通讯应用示例

    Java读写Mifare M1卡IC卡源码

    Java使用JNA、JNI两种不同方式调用DLL、SO动态库方式读写M1卡源码,支持读写M1卡扇区数据、修改IC卡扇区密钥、改写UID卡卡号等功能,支持Windows系统,同时支持龙芯Mips、LoongArch、海思麒麟鲲鹏飞腾Arm、海光兆芯x86_Amd64等架构平台的国产统信、麒麟等Linux系统,内有jna-4.5.0.jar包,vx13822155058 qq954486673

    UDP协议接收和发送数据示例JAVA

    UDP协议接收和发送数据示例JAVA

    VU-DBS项目:深脑刺激器的全程辅助

    本文介绍了范德堡大学深脑刺激器(DBS)项目,该项目旨在开发和临床评估一个系统,以辅助从规划到编程的整个过程。DBS是一种高频刺激治疗,用于治疗运动障碍,如帕金森病。由于目标区域在现有成像技术中可见性差,因此DBS电极的植入和编程过程复杂且耗时。项目涉及使用计算机辅助手术技术,以及一个定制的微定位平台(StarFix),该平台允许在术前进行图像采集和目标规划,提高了手术的精确性和效率。此外,文章还讨论了系统架构和各个模块的功能,以及如何通过中央数据库和网络接口实现信息共享。

    图像识别项目源码资源(Python和C++)

    图像识别”项目源码资源(Python和C++)

    虚拟同步电机与并电网模型的Simulink仿真参数配置与直接使用指南,虚拟同步电机与并电网模型的Simulink仿真:参数齐全,直接使用,同步电机simulink仿真 并电网模型仿真 参数设置好了

    虚拟同步电机与并电网模型的Simulink仿真参数配置与直接使用指南,虚拟同步电机与并电网模型的Simulink仿真:参数齐全,直接使用,同步电机simulink仿真 并电网模型仿真 参数设置好了,可直接使用 ,虚拟同步电机; simulink仿真; 并电网模型仿真; 参数设置; 使用,虚拟同步电机Simulink仿真与并电网模型参数化应用

    三菱FX3U与力士乐VFC-x610变频器通讯案例详解:PLC控制下的变频器操作与设置程序,含接线方式及昆仑通态触摸屏操作指南,三菱FX3U与力士乐VFC-x610变频器通讯案例详解:接线、设置与程序

    三菱FX3U与力士乐VFC-x610变频器通讯案例详解:PLC控制下的变频器操作与设置程序,含接线方式及昆仑通态触摸屏操作指南,三菱FX3U与力士乐VFC-x610变频器通讯案例详解:接线、设置与程序注解,实现频率设定、启停控制与实时数据读取功能。,三菱FX3U与力士乐VFC-x610变频器通讯程序三菱FX3U与力士乐VFC-x610变频器通讯案例程序,有注释。 并附送程序,有接线方式,设置。 器件:三菱FX3U的PLC,力士乐VFCx610变频器,昆仑通态,威纶通触摸屏。 功能:实现频率设定,启停控制,实际频率读取等。 ,三菱FX3U;力士乐VFC-x610变频器;通讯程序;案例程序;注释;接线方式;设置;频率设定;启停控制;实际频率读取;昆仑通态;威纶通触摸屏。,三菱FX3U与力士乐VFC-x610变频器通讯程序及案例:频率控制与读取实践

    xmselect测试用例~~~~~~~~~~~~~~

    xmselect测试用例~~~~~~~~~~~~~~

    Unity-游戏开发-模型资源-科幻武器

    总共包含 32 款 AAA 级科幻武器。四种武器类型,每种有 8 种不同的纹理变化! 所有内容均采用 PBR 材质,可直接用于开发游戏!

    python词云生成器,将txt文本自动分割生成词云图

    python词云生成器,将txt文本自动分割生成词云图

    基于物联网智能化平台的智慧园区解决方案PPT(28页).pptx

    智慧园区,作为现代城市发展的新形态,旨在通过高度集成的信息化系统,实现园区的智能化管理与服务。该方案提出,利用智能手环、定制APP、园区管理系统及物联网技术,将园区的各类设施与设备紧密相连,形成一个高效、便捷、安全的智能网络。从智慧社区到智慧酒店,从智慧景区到智慧康养,再到智慧生态,五大应用板块覆盖了园区的每一个角落,为居民、游客及工作人员提供了全方位、个性化的服务体验。例如,智能手环不仅能实现定位、支付、求助等功能,还能监测用户健康状况,让科技真正服务于生活。而智慧景区的建设,更是通过大数据分析、智能票务、电子围栏等先进技术,提升了游客的游玩体验,确保了景区的安全有序。 尤为值得一提的是,方案中的智慧康养服务,展现了科技对人文关怀的深刻体现。通过智慧手环与传感器,自动感知老人身体状态,及时通知家属或医疗机构,有效解决了“空巢老人”的照护难题。同时,智慧生态管理系统的应用,实现了对大气、水、植被等环境要素的实时监测与智能调控,为园区的绿色发展提供了有力保障。此外,方案还提出了建立全域旅游营销平台,整合区域旅游资源,推动旅游业与其他产业的深度融合,为区域经济的转型升级注入了新的活力。 总而言之,这份智慧园区建设方案以其前瞻性的理念、创新性的技术和人性化的服务设计,为我们展示了一个充满智慧与活力的未来园区图景。它不仅提升了园区的运营效率和服务质量,更让科技真正融入了人们的生活,带来了前所未有的便捷与舒适。对于正在规划或实施智慧园区建设的决策者而言,这份方案无疑提供了一份宝贵的参考与启示,激发了他们对于未来智慧生活的无限遐想与憧憬。

    使用 SignalR 在 .NET Core 8 最小 API 中构建实时通知

    使用 SignalR 在 .NET Core 8 最小 API 中构建实时通知,构建实时应用程序已成为现代 Web 开发中必不可少的部分,尤其是对于通知、聊天系统和实时更新等功能。SignalR 是 ASP.NET 的一个强大库,可实现服务器端代码和客户端 Web 应用程序之间的无缝实时通信。 参考文章:https://blog.csdn.net/hefeng_aspnet/article/details/145990801

Global site tag (gtag.js) - Google Analytics