老哥学习网 - www.lg9.cn 2024年05月17日 03:35 星期五
当前位置 首页 >杂文文章 >

JS跑马灯效果实现(很好用) [Symbian自定义控件—如何实现跑马灯效果]

发布时间:2020-03-07 06:35:04 浏览数:

网上的算法很多,但我只提供一个最笨,最简单,但最有效的方法去做:

比如你要一行要显示4个字母的长度,显示的信息为"ABCDE",1秒钟为其更新速度

那么我们可以紧挨着放置4个LABEL,LABEL1,LABEL2,LABEL3,LABEL4设置好他们的位置

然后算法如下:

1.获取要显示的信息并存入数组里

TBuf<10> iSourceData = _L("ABCDE");

CDesCArray* aDataArray = new (Eleave) CDesCArrayFlat(10);

CleanupStack::PushL(aDataArray);

for(TInt i = 0; i< P>

{

aDataArray->AppendL(iSourceData[i]);

}

2.以下为跑马灯的具体实现:

在头文件定义:

TInt j = 0;

TInt a=0;b=1;c=2;d=3;

以下需放在活动对象的RunL()里执行

if(a < aDataArray->Count())

{

LABEL1->SetTextL((*aDataArray)[a]);

}

else

{

LABEL1->SetTextL(_L(""));

}

if(a < aDataArray->Count()+2)

{

a++;

}

else

{

a=0;

}

if(b < aDataArray->Count())

{

LABEL2->SetTextL((*aDataArray)[b]);

}

else

{

LABEL2->SetTextL(_L(""));

}

if(b< aDataArray->Count()+2)

{

b++;

}

else

{

b=0;

}

if(c< aDataArray->Count())

{

LABEL3->SetTextL((*aDataArray)[c]);

}

else

{

LABEL3->SetTextL(_L(""));

}

if(c< aDataArray->Count()+2)

{

c++;

}

else

{

c=0;

}

if(d< aDataArray->Count())

{

LABEL4->SetTextL((*aDataArray)[d]);

}

else

{

LABEL4->SetTextL(_L(""));

}

if(d< aDataArray->Count()+2)

{

d++;

}

else

{

d=0;

}

waitOneSend(); //等待一秒钟的操作

记得退出页面得调用活动对象Cancel()方法

推荐访问:自定义 控件 如何实现 Symbian自定义控件—如何实现跑马灯效果 js实现跑马灯效果 xml实现跑马灯效果

相关文章:

Top