Android TestView实现跑马灯效果的两种方法

Android TestView跑马灯效果的实现

 


跑马灯就是一行字幕在不断的循环显示的效果。


本文通过TextView属性的设置或完全代码实现跑马灯效果的实现。


一.第一种方法


主方法调用类的执行语句就一句话:setContentView(R.layout.activity_main);


布局文件activity.xml代码如下



 
   
   
 

   
   
   
	
    
    
    
    
    


   
   


 

 

跑马灯效果实际就是通过后面六句属性语句完成的。


看一下下面相关解释:

(一)android:singleLine="true"当显示为一行的时候,才有效果 

(二)android:marqueeRepeatLimit="marquee_forever"//表示滚动回数,这里这么设置,表示一直滚动

(三)android:ellipsize="marquee"      跑马灯显示

由于输入的内容多于一行,如果不处理就会直接不显示后面的内容,通过处理可以在前面、中间或后面加一个省略号的效果

        android:ellipsize="start"        省略号在开头       
        android:ellipsize="middle"       省略号在中间       
        android:ellipsize="end"          省略号在结尾       
       
(四)android:focusable="true"  //要显示该跑马灯,view必须要获得焦点,只有在取得焦点的情况下跑马灯才会显示
android:marqueeRepeatLimitellipsize指定marquee的情况下,设置重复滚动的次数,当设置为 marquee_forever时表示无限次。也可以设置为1,2.。等。
android:focusableInTouchMode:是否在触摸模式下获得焦点。

对于一个大View中有很多子View来说,同一时刻只能有一个子View获得focus!也就是说当前这一屏上,最多只能有一个view能有跑马灯效果,而不能多个View同事都有跑马灯效果。

 

 




二.完全用代码显示出来的方法(不使用布局文件.xml)


 

package com.example.helloworld;

import android.R.color;
import android.app.Activity;
import android.os.Bundle;
import android.text.Layout;
import android.text.TextUtils.TruncateAt;
import android.view.Menu;
import android.view.MenuItem;
import android.view.ViewGroup.LayoutParams;
import android.widget.TextView;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		TextView view=new TextView(this);//创建文本
		view.setText("人永远是要学习的;死的时候,才是毕业的时候。");//设置文字
		view.setWidth(50);//设置宽度
		view.setBackgroundColor(color.holo_red_light);//设置字体颜色
		view.setTextSize(22);//字体大小
		view.setPadding(20, 20, 20, 20);
		
		//真正起到循环作用的代码
		view.setSingleLine(true);
		view.setMarqueeRepeatLimit(100);//设置循环的次数
		view.setEllipsize(TruncateAt.MARQUEE);//跑马灯的显示(省略号的设置)
		view.setScrollX(5);//往x轴滑动,参数代表速度
		view.setFocusable(true);//获得聚焦
		view.setFocusableInTouchMode(true);//在点击屏幕时是否获得聚焦
		
		//把设置是TextView显示出来
		setContentView(view);
		//setContentView(R.layout.activity2);
	}

} 



通过运行上面的代码也能实现布局文件让文字不断循环的跑马灯效果。



总结:

TextView其实就是一个类,也可以调用它的方法来完成很多事情,

但是作为一个android开发者,主要还是用布局文件来开发页面,

效果稳定,而且代码简洁。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峥嵘life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值