我想使用场景和TransitionManager来显示漂亮的过渡效果:
final Scene scene = Scene.getSceneForLayout((ViewGroup)findViewById(R.id.bottom), R.layout.scene_pause, MainActivity.this);
TransitionSet set = new TransitionSet();
set.addTransition(new Fade().setDuration(1500));
set.addTransition(new ChangeBounds().setDuration(1700));
set.setOrdering(TransitionSet.ORDERING_TOGETHER);
set.setInterpolator(new AccelerateInterpolator());
TransitionManager.go(scene,set);
它有效,但据我所知,Scene从相应的布局(在我的例子中是R.layout.scene_pause)中获取了Views状态(例如drawables,background等)。在此布局中,我有一个3状态按钮,转换后此按钮的当前停留时间始终与布局文件中的相同,与此按钮的先前状态无关。如何在开始转换之前保存或设置我的观点状态?
答案 0 :(得分:0)
可以通过这样的代码来实现:
ViewGroup bottom = (ViewGroup)findViewById(R.id.bottom);
ViewGroup layout = (ViewGroup)getLayoutInflater().inflate(R.layout.scene1_play,null);
final Scene scene1 = new Scene(bottom,layout);
之后我们可以使用layout.findViewById方法从布局中找到任何视图,因此我们可以在trafition之前更改背景,文本,drawable等。在完成所有更改后,我们应该使用
开始转换 TransitionManager.go(scene1);