首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Symbian >

渐入渐出效果是如何实现的

2012-09-10 
渐入渐出效果是怎么实现的?参见最新的新浪微博s60V5版本2.6就是从一个界面跳转到另外一个界面是有那种停顿

渐入渐出效果是怎么实现的?
参见最新的新浪微博s60V5版本2.6
就是从一个界面跳转到另外一个界面是有那种停顿的效果
以前从来没见过这种效果
不知道是怎么做的??
请指教。。
多谢

[解决办法]
如果是慢慢的出来应该是半透明的方法实现的,就是先透明1-100%新界面就出来了。
[解决办法]
void CCellWallMainFrameListBox::RefreshSelectAd(CWindowGc& gc,CFbsBitmap *imgToBrighten) const
{


CFbsBitmap* iEmptyBitmap = new ( ELeave ) CFbsBitmap();
CleanupStack::PushL( iEmptyBitmap );

User::LeaveIfError( iEmptyBitmap->Create( imgToBrighten->SizeInPixels(), CEikonEnv::Static()->DefaultDisplayMode() ) );

CFbsBitmapDevice *iGD = CFbsBitmapDevice::NewL( iEmptyBitmap );
CleanupStack::PushL( iGD );
CFbsBitGc *iGC;
User::LeaveIfError( iGD->CreateContext( iGC ) );

iGC->SetPenStyle( CGraphicsContext::ENullPen );
TRgb aColor(255,255,128);
iGC->SetBrushColor( aColor );
iGC->SetBrushStyle( CGraphicsContext::ESolidBrush );
iGC->DrawRect( TRect(TPoint(0,0), iEmptyBitmap->SizeInPixels()) );
iGC->SetBrushStyle( CGraphicsContext::ENullBrush );

delete iGC;
CleanupStack::PopAndDestroy( iGD );

TRect rc(Rect());
TRect rect;
if ((50 == version) || (52 == version))
{
rect.SetRect(TPoint(rc.iTl.iX, rc.iBr.iY-45),TPoint(rc.iBr.iX, rc.iBr.iY));
}
else
{
rect.SetRect(TPoint(rc.iTl.iX, rc.iBr.iY-30),TPoint(rc.iBr.iX, rc.iBr.iY));
}
gc.DrawBitmapMasked(rect,imgToBrighten,TRect(TPoint(0,0),iEmptyBitmap->SizeInPixels()),iEmptyBitmap,EFalse);

CleanupStack::PopAndDestroy( iEmptyBitmap );


}
这段代码实现图片变淡,你可以通过调整TRgb aColor(255,255,128);这里的颜色值来观察图片的显示效果
[解决办法]
没有接口,这个都是自己实现的。
[解决办法]
配合定时器改变窗体透明度
[解决办法]
其实你比较一下android的就发现symbian上这个很卡,好像中间停顿一下,就感觉像中间插了一张图进来一样,不知道是机器的问题还是symbian客户端本身就做粗糙了

热点排行