Çoğunlukla geçişli bir etkinlik başlattığım bir kullanım durumum var, ancak bu, onu gezinme çekmecesinden açarken durum böyle değil.Bir etkinlik geçiş olmadan başlatılırsa nasıl bilinir?
Geçişin düzgün olmasını sağlamak için Transition.TransitionListener
numaralı bir geçişe sahibim. Geçiş yapıldığında bazı UI güncelleştirmelerini tetikliyorum.
public class SomeActivity extends Activity {
public void onCreate(Bundle savedInstanceState){
// ...
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
Transition sharedElementEnterTransition = getWindow().getSharedElementEnterTransition();
sharedElementEnterTransition.addListener(new Transition.TransitionListener() {
// ...
@Override
public void onTransitionEnd(Transition transition) {
doSomeUiUpdating();
}
});
} else { // Pre-Lollipop
doSomeUiUpdating();
}
}
}
ancak Etkinlik bir geçiş olmadan başlatıldı olmadığını bilmek nasıl ben doSomeUiUpdating()
çağrı böylece:
Yani böyle bir şey var?
Ben Activity
, Window
, Transition
ya da ben gözardı yerde basit bir yöntem olmalıdır eminim. Animasyonun gösterilip gösterilmediğini söyleyen bir paket ayarlamak için arama aktivitesini aktarmak istemiyorum.
Sendeki onun aynı mantık üstlenecek (if (android.os.Build.VERSION.SDK_INT> = android.os.Build.VERSION_CODES.LOLLIPOP) {doSomeUiUpdating(); ....) koddan önce – Tasos
numaralı bir faaliyeti başlatmanız ve API 19'a (KITKAT) geçişler eklendiğinden önce LOLLIPOP - https://www.youtube.com/watch?v=K3yMV5am-Xo – Tasos
şey şu ki - ilk satırda söylemeye çalıştığım gibi - etkinlik (Lollipop + 'da olsa bile) en çok geçişle başlatılır, ancak kullanıcı bu etkinliği gezinme çekmecesinden başlattığında değil. –