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的无焦点跑马灯和水平滚动效果。 首先,我们需要理解TextView的基础属性。`android:singleLine`属性用于将文本限制为一行,`android:ellipsize`属性则控制当文本超出...
而跑马灯(Marquee)效果则是TextView的一种特殊滚动显示方式,通常用于显示过长文本时,使其能在有限的空间内循环滚动。本Demo重点是实现ListView的每一项都有TextView的跑马灯效果。 首先,我们来看TextView的...
本示例"Android垂直滚动TextView跑马灯Demo"就是一种常见的UI特效,它主要用于显示大量的文本内容,尤其适用于展示滚动公告、新闻标题或者广告等内容。跑马灯效果在Android中通常是通过自定义View或者对现有控件进行...
实现TextView的跑马灯效果主要涉及到两个关键属性:`android:singleLine`和`android:ellipsize`。`android:singleLine`属性使得TextView只显示一行文本,超出部分会被隐藏;而`android:ellipsize`属性则定义了超出...
在Android开发中,TextView是...总之,TextView的跑马灯、闪烁和跳动动画是Android开发中增强用户体验的重要手段。通过理解和实践这些效果,开发者可以为用户提供更加丰富的视觉体验,同时提升应用的吸引力和互动性。
在Android开发中,TextView是用于显示文本的基本组件。然而,有时候我们希望文本能像跑马灯那样滚动播放,尤其在屏幕空间有限时,这可以提供一种动态且节省空间的展示方式。标题“textview(跑马灯效果)文字长短不...
首先,要实现TextView的跑马灯效果,我们需要在XML布局文件中设置`android:singleLine="true"`(对于API 26及以上版本,需使用`android:maxLines="1"`)和`android:ellipsize="marquee"`。这将使TextView单行显示,...
在Android开发中,为TextView添加跑马灯效果是一种常见的需求,它可以使得较长的文字在有限的空间内循环滚动显示,增加界面的动态感。本篇文章将详细讲解三种实现TextView跑马灯效果的方法。 ### 1. 使用`ellipsize...
`android:ellipsize="marquee"` 用于实现跑马灯效果,`android:focusable="true"` 和 `android:focusableInTouchMode="true"` 用于让 TextView 获得焦点,以便实现跑马灯效果。 在布局文件中,可以直接使用以下代码...
总结,实现Android自定义TextView的跑马灯效果,主要涉及以下几个步骤: 1. 创建自定义TextView类,继承自AppCompatTextView。 2. 重写onDraw()方法,实现文本的滚动绘制。 3. 判断文本宽度和TextView宽度,决定是否...
以上就是关于Android中TextView跑马灯效果的基本介绍和实现方法。通过合理设置属性和编写适当的代码,我们可以创建出满足需求的跑马灯效果。同时,自定义的MarqueeTextView可能会提供更丰富的定制选项,以适应各种...
总之,理解和熟练掌握`TextView`的换行机制以及`SpannableString`的使用,对于提升Android应用的用户体验至关重要。通过定制`TextView`,我们可以解决排版混乱的问题,同时充分利用`SpannableString`的特性,实现...
标题和描述中提到的“跑马灯效果”是指在`TextView`中,当文本内容过长无法完全显示时,文本会从一侧滚动到另一侧,形成循环滚动的效果。这种效果在通知栏、广告条或者状态栏等场景中较为常见。 实现跑马灯效果的...
在Android中,TextView的跑马灯效果是通过设置`android:singleLine`和`android:ellipsize`属性来实现的。`android:ellipsize`属性可以设置为`marquee`,从而激活跑马灯滚动。 首先,我们来看`MarqueeTest`这个可能...
"android自定义横向跑马灯TextView"就是一个典型的示例,它允许文字在一个视图内不断滚动,模拟LED显示屏上的跑马灯效果。这种效果通常用于显示通知、提示信息或者标题,即使只有一个字符也能实现滚动。 跑马灯效果...
【TextView的跑马灯效果】在Android开发中,TextView是一种常用的UI组件,用于显示文本信息。而"跑马灯"效果则是TextView的一个特殊功能,它可以让文字在TextView中连续滚动,仿佛文字在显示屏上奔跑,这种效果在...
本教程主要围绕如何在Android中使用`TextView` 实现跑马灯效果展开。首先,我们需要了解`TextView` 的基本属性和设置方法。在XML布局文件中,我们可以这样创建一个`TextView`: ```xml <TextView android:id="@+id...
在Android开发中,"特效-textView跑马灯"是一种常见的UI动态效果,它通常用于显示滚动的文字信息,比如新闻标题或者广告标语。这种效果模仿了实际生活中的跑马灯,即文字在一个固定区域里循环滚动,给人一种连续不断...
在Android开发中,跑马灯效果(也称为滚动文本或循环滚动)是一种常见的UI特效,常用于显示过长的文本,使用户能在有限的空间内查看完整信息。本资源"Android高级应用源码-跑马灯效果MarqueTextView textview 循环 ...
要实现TextView的跑马灯效果,通常需要结合Android的属性和自定义布局来完成。以下是详细步骤和相关知识点: 1. **设置Ellipsize属性**: TextView有一个名为`ellipsize`的属性,它允许我们在文本过长时添加省略号...