博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android TextSwitcher
阅读量:6292 次
发布时间:2019-06-22

本文共 3163 字,大约阅读时间需要 10 分钟。

  hot3.png

 public class TextSwitcher extends ViewSwitcher

java.lang.Object

      android.view.ViewGroup

           android.widget.FrameLayout

               android.widget.ViewAnimator

                     android.widget.ViewSwitcher

                               android.widget.TextSwitcher

 ImageSwitcher 和TextViewSwitcher都是ViewSwitcher 的子类,ViewSwitcher又是ViewAnimator 的子类,ViewAnimator (FrameLayout的子类)提供了不同View之间切换时的动画效果支持,而ViewAnimator 为FrameLayout的子类,因此ViewAnimator中包含的子View都是叠放在一起,一般情况下支持看到最上面的一个View。

ViewSwitcher只能最多包括两个子View。每次只显示其中一个View,它有两个子类TextSwitcher 和ImageSwitcher 。本例介绍TextSwitcher ,TextSwitcher 种能包含TextView,TextSwitcher主要可以用法文字切换时动画效果。

每当调用setText时,TextSwitcher 使用设定的动画效果显示新文字串和原先文字之间的切换。可以使用addView 为ViewSwitcher 手动添加一个View到ViewSwitcher中,也可以使用ViewSwitcher.ViewFactory 自动创建一个新View。本例使用ViewSwitcher.ViewFactory为TextSwitcher创建一个新View。

构造函数

public TextSwitcher (Context context)

创建一个新的空TextSwitcher

参数

context 应用程序上下文

public TextSwitcher (Context context, AttributeSet attrs)

使用提供的contextattributes来创建一个空的TextSwitcher

参数

context 应用程序环境

attrs 属性集合

公共方法

public void addView (View child, int index, ViewGroup.LayoutParams params)

根据指定的布局参数新增一个子视图

参数

child 新增的子视图

index 新增子视图的位置

params 新增子视图的布局参数

抛出异常

IllegalArgumentException 当子视图不是一个TextView实例时

public void setCurrentText (CharSequence text)

设置当前显示的文本视图的文字内容。非动画方式显示。

参数

text 需要显示的新文本内容

public void setText (CharSequence text)

设置下一视图的文本内容并切换到下一视图。可以动画的退出当前文本内容,显示下一文本内容。

参数

text 需要显示的新文本内容

案例:

package com.test;import android.R.string;import android.app.Activity;import android.os.Bundle;import android.view.Gravity;import android.view.View;import android.view.View.OnClickListener;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.Button;import android.widget.TextSwitcher;import android.widget.TextView;import android.widget.ViewSwitcher.ViewFactory;public class TextSwitcherDemo extends Activity implements ViewFactory		 {		private  TextSwitcher  textSwitcher;		private  int counter=0;		private Button   button; 		@Override	protected void onCreate(Bundle savedInstanceState) {		// TODO Auto-generated method stub		super.onCreate(savedInstanceState);				setContentView(R.layout.textswitcher);				textSwitcher=(TextSwitcher)findViewById(R.id.textviewswitcher_id);		textSwitcher.setFactory(this);				Animation in = AnimationUtils.loadAnimation(this,  android.R.anim.fade_in);  		Animation out = AnimationUtils.loadAnimation(this,  android.R.anim.fade_out);  		textSwitcher.setInAnimation(in);  		textSwitcher.setOutAnimation(out); 				button = (Button)findViewById(R.id.btn_textviewswitcher);				button.setOnClickListener(listener);		updateCounter();	}		private OnClickListener  listener=new OnClickListener() {				@Override		public void onClick(View v) {			counter++;			updateCounter();		}	};		private void updateCounter() {		// TODO Auto-generated method stub		textSwitcher.setText(String.valueOf(counter));	}		@Override	public View makeView() {		// TODO Auto-generated method stub		TextView  textView = new TextView(this);		textView.setGravity(Gravity.TOP|Gravity.CENTER_HORIZONTAL);		textView.setTextSize(35);		return textView;	}}

3.执行结果:

 

 

 

转载于:https://my.oschina.net/amigos/blog/66070

你可能感兴趣的文章
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
poi 导入导出的api说明(大全)
查看>>
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>