Ik ben nieuw met android development, maar ik vind transitions behoorlijk basic, dus ik wil dit goed krijgen (en vroeg of laat moet het sowieso goed komen), dus vandaar dat ik er nu al mee kom. Ik heb uitgevonden hoe je een transition kunt definieren tussen twee activities met twee xml-bestandjes en een call naar overridePendingTransition(). Geen problem dusver.
Het probleem is het omgekeerde hiervan: de transition terug naar de vorige activity. Het artikel wat ik hierboven linkt, beschrijft hoe dat moet, maar er zitten twee haken&ogen aan:
1) Het werkt alleen met een activity die start is met startActivityForResult(). In mijn situatie is dat niet logisch, omdat de tweede activity geen resultaat voor de eerste produceert.
2) Het werkt niet voor de terug-knop die linksbovenin in de navigatiebalk verschijnt. Die pakt de default zoom-achtige transition.
Dus, twee concrete vragen:
1) Wat is er anders aan die onscreen terugknop waardoor die een andere transition pakt?
2) Kun je de "terug"-transition niet definieren in de activity die aangeroepen wordt, ipv in de activity die het aanroepen doet, zegmaar?
Wat heb ik al geprobeerd:
1) De overridePendingTransition() in de onOptionsItemSelected override aanroepen, vlak na navigateUpFromSameTask() (don't ask, dit is wat je default krijgt, ik heb het niet verzonnen). Dit werkt wel, maar ik heb geen flauw idee of dit de goeie plek is om de transition te bepalen. Ik had eerder een generieke "back" method ofzo verwacht, maar:
2) De overridePendingTransition() in de onBackPressed en onStop overrides plaatsen helpt geen zak, noch voor de onscreen back button, noch voor de hardware back button.
Punt 1 van wat ik geprobeerd heb, lost trouwens ook niet op dat je verplicht startActivityForResult() moet gebruiken en de terug-transition in de aanroepende activity moet zetten, wat ontzettend aanvoelt als een onlogische plek... Ik bedoel, als activity A bepaalt wat de transition naar activity B moet zijn, dan vind ik dat activity B ook mag bepalen wat de transition terug naar activity A moet zijn. Maar hoe
Het probleem is het omgekeerde hiervan: de transition terug naar de vorige activity. Het artikel wat ik hierboven linkt, beschrijft hoe dat moet, maar er zitten twee haken&ogen aan:
1) Het werkt alleen met een activity die start is met startActivityForResult(). In mijn situatie is dat niet logisch, omdat de tweede activity geen resultaat voor de eerste produceert.
2) Het werkt niet voor de terug-knop die linksbovenin in de navigatiebalk verschijnt. Die pakt de default zoom-achtige transition.
Dus, twee concrete vragen:
1) Wat is er anders aan die onscreen terugknop waardoor die een andere transition pakt?
2) Kun je de "terug"-transition niet definieren in de activity die aangeroepen wordt, ipv in de activity die het aanroepen doet, zegmaar?
Wat heb ik al geprobeerd:
1) De overridePendingTransition() in de onOptionsItemSelected override aanroepen, vlak na navigateUpFromSameTask() (don't ask, dit is wat je default krijgt, ik heb het niet verzonnen). Dit werkt wel, maar ik heb geen flauw idee of dit de goeie plek is om de transition te bepalen. Ik had eerder een generieke "back" method ofzo verwacht, maar:
2) De overridePendingTransition() in de onBackPressed en onStop overrides plaatsen helpt geen zak, noch voor de onscreen back button, noch voor de hardware back button.
Punt 1 van wat ik geprobeerd heb, lost trouwens ook niet op dat je verplicht startActivityForResult() moet gebruiken en de terug-transition in de aanroepende activity moet zetten, wat ontzettend aanvoelt als een onlogische plek... Ik bedoel, als activity A bepaalt wat de transition naar activity B moet zijn, dan vind ik dat activity B ook mag bepalen wat de transition terug naar activity A moet zijn. Maar hoe
[ Voor 4% gewijzigd door _Thanatos_ op 07-03-2013 01:09 ]
日本!🎌