4 回答

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
目前找到的方法只能調(diào)用內(nèi)建的動(dòng)畫效果
params = new WindowManager.LayoutParams();
params.windowAnimations = android.R.style.Animation_Translucent;
若改成R.style.custon_anim的話則是怎麼樣都沒有動(dòng)畫
可用的方法是直接搭Handler、Runnable來updateViewLayout
但是在改物件大小時(shí)會(huì)看起來不順暢
僅管已經(jīng)把呼叫時(shí)間改為1ms,一樣沒辨法每毫秒呼叫一次更新
現(xiàn)在是先用Runnable的方法,只做了淡出效果、物件直接放大到固定值
代碼大致上如下
private void createFloatView(){
Log.d("HuybnTag","S.createFloatView");
btn_exif = new Button(getApplicationContext());
btn_exif.setBackgroundResource(R.drawable.exif);
wm = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
exif = new WindowManager.LayoutParams();
exif.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
exif.format = PixelFormat.RGBA_8888;
exif.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
exif.height = 124;
exif.width = 124;
exif.gravity = Gravity.CENTER;
exif.windowAnimations = android.R.style.Animation_Translucent;
.......
要離開時(shí)運(yùn)行這個(gè)
fadeOut(btn_exif,exif);
//下面這段改自網(wǎng)絡(luò)上的代碼
public void fadeOut(final View notificationView, final LayoutParams params){
animTime=300;
exif.width=310;
exif.height=310;
final long startTime = System.currentTimeMillis();
Handler handler = new Handler();
handler.postDelayed(new Runnable(){
public void run(){
fadeOutHandler(notificationView, params, startTime);
}
}, 25);
}
public void fadeOutHandler(final View notificationView, final LayoutParams params, final long startTime){
long timeNow = System.currentTimeMillis();
float alpha = (1- ((float)(timeNow - startTime)/animTime) ) * 1.0f;
if(alpha<=0) alpha = 0;
params.alpha = alpha;
Log.d("HuybnTag","alpha= "+alpha);
wm.updateViewLayout(notificationView, params);
if (timeNow-startTime<animTime){
Handler handler = new Handler();
handler.postDelayed(new Runnable(){
public void run(){
fadeOutHandler(notificationView, params, startTime);
}
}, 25);
}

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
正是豐富的運(yùn)算符和表達(dá)式使C語言功能十分完善。這也是C語言的主要特點(diǎn)之一。C語言的運(yùn)算符不僅具有不同的優(yōu)先級(jí),而且還有一個(gè)特點(diǎn),就是它的結(jié)合性。在表達(dá)式中,各運(yùn)算量參與運(yùn)算的先后順序不僅要遵守運(yùn)算符優(yōu)先級(jí)別的規(guī)定,還要受運(yùn)算符結(jié)合性的制約,以便確定是自左向右進(jìn)行運(yùn)算還是自右向左進(jìn)行運(yùn)算。這種結(jié)合性是其它高級(jí)語言的運(yùn)算符所沒有的,因此也增加了C語言的復(fù)雜性。

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
css3樣式中的transform、animation都可以實(shí)現(xiàn)動(dòng)畫的相關(guān)效果。例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>animation動(dòng)畫效果</title>
<style>
div
{
width:100px;
height:100px;
background:red;
animation:myfirst 5s;
-webkit-animation:myfirst 5s; /* Safari and Chrome */
}
@keyframes myfirst
{
from {background:red;}
to {background:yellow;}
}
@-webkit-keyframes myfirst /* Safari and Chrome */
{
from {background:red;}
to {background:yellow;}
}
</style>
</head>
<body>
<p><b>注意:</b> 該實(shí)例在 Internet Explorer 9 及更早 IE 版本是無效的。</p>
<div></div>
</body>
</html>
- 4 回答
- 0 關(guān)注
- 1978 瀏覽
添加回答
舉報(bào)