在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Android/ android Transitions Framework 為什么可以讓后續(xù)操

android Transitions Framework 為什么可以讓后續(xù)操作動(dòng)畫(huà)有過(guò)渡效果?

同樣的activity過(guò)場(chǎng)動(dòng)畫(huà)的代碼為什么在finish()后執(zhí)行。
按照常理不是應(yīng)該在關(guān)閉之前設(shè)置動(dòng)畫(huà),然后執(zhí)行關(guān)閉操作,此時(shí)關(guān)閉狀態(tài)才有可能執(zhí)行預(yù)先設(shè)置的動(dòng)畫(huà)嗎?

@OnClick(R.id.button)
void button() {
    TransitionManager.beginDelayedTransition(transitions_container);
    textView.setVisibility((visible = !visible) ? View.VISIBLE : View.GONE);
}

1721932-649c16e662a11710.gif

這里是我的一個(gè)按鈕點(diǎn)擊后會(huì)執(zhí)行一段動(dòng)畫(huà),在平時(shí),如果我不通過(guò)transition設(shè)置動(dòng)畫(huà),那么textView則會(huì)瞬間顯示/隱藏,從而影響到與它相關(guān)的控件,比如線性布局中Gone則后續(xù)的布局會(huì)擠到當(dāng)前位置。

可是在加了動(dòng)畫(huà)之后,相近的布局會(huì)有一個(gè)過(guò)渡效果,而不是瞬間完成的?
這讓我感到有點(diǎn)意外,為什么我執(zhí)行setVisibility的時(shí)候不是直接響應(yīng)完成的?
transition會(huì)干擾它們占位的過(guò)程嗎?
同樣的顯示隱藏的中增加的透明度過(guò)渡的效果也不是瞬間完成的。這讓我有點(diǎn)奇怪。求教。

回答
編輯回答
痞性

哦,想起來(lái)了我還提了這個(gè)問(wèn)題。

貌似是transition框架通過(guò)對(duì)View注冊(cè)了onPreDraw的監(jiān)聽(tīng),在真正繪制之前插入自己的動(dòng)畫(huà)邏輯,從而使兩個(gè)效果的過(guò)渡更加的平滑

2018年2月15日 12:34