Android TextView控件 之滚动文字效果

随着对于 TextView控件的深入学习,结合别人的例子,自己做了一个滚动的TextView文字滚动的效果。


首先要对xml文件进行重新定义,把布局方式改成LinearLayout(也就是线性布局),自己写一个TextView控件

代码如下

  • android:elipsize: 如果文本长度大于TextView的显示长度,则隐藏那一部分,可赋值为:none(不隐藏)、start(隐藏开始)、middle(隐藏中间)、end(隐藏结束)、marquee(滚动效果)。
  • android:marqueRepeatLimit:设定需要重复动画的次数,传递一个int值,-1为无限循环。
  • android:focusable:是否允许获得焦点,传递一个bool值。
  • android:focusableInTouchMode:是否在获得焦点时对控件有联系,传递一个bool值。

然后再进Activity声明TextView

代码如下

TextView tv ;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_second);
		tv = (TextView)this.findViewById(R.id.textview);
		String str = "我将应鲁哈尼总统邀请对伊朗进行国事访问,就新形势下深化中伊关系及重大国际和地区问题深入交换意见,共同推动中伊关系迈上新台阶。";
		CharSequence charstr = Html.fromHtml(str);
		tv.setText(charstr);
		tv.setMovementMethod(LinkMovementMethod.getInstance());
	}
其中用到的CharSequence是一个接口,代表的是一个有序字符集合,对于一个抽象类或者是接口类,不能使用new来进行赋值,所以CharSequence charstr=,直接赋值就行了,后面调用的是Html的forHtml方法,把字符串传过去。

这样调用以上代码就能实现文字在TextView实现滚动效果了。


你可能感兴趣的:(Android控件学习心得)