运行 场景在 onResume 中使用 TransitionManager
Run scene using TransitionManager in onResume
是否可以通过适当的方式在onResume中自动触发场景切换?
我有 activity:
的布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/scene0" />
</FrameLayout>
</RelativeLayout>
还有2个场景
场景1:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/test_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sample text"
android:textSize="20dp"
android:layout_centerInParent="true"/>
</RelativeLayout>
场景2:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/test_text"
android:text="Sample text"
android:textSize="20dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
问题是:我无法在 onResume()
中调用 TransitionManager.go(scene2)
,它只是转到没有动画的第二个场景。但是,如果我 post 它与 Handler 一起延迟大约 100 毫秒,它就可以工作。
对于Activity
可以使用onWindowFocusChanged
的方法。就像这样:
@Override
public void onWindowFocusChanged(final boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(hasFocus) {
TransitionManager.go(scene2);
}
}
是否可以通过适当的方式在onResume中自动触发场景切换? 我有 activity:
的布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/scene0" />
</FrameLayout>
</RelativeLayout>
还有2个场景
场景1:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/test_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sample text"
android:textSize="20dp"
android:layout_centerInParent="true"/>
</RelativeLayout>
场景2:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/test_text"
android:text="Sample text"
android:textSize="20dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
问题是:我无法在 onResume()
中调用 TransitionManager.go(scene2)
,它只是转到没有动画的第二个场景。但是,如果我 post 它与 Handler 一起延迟大约 100 毫秒,它就可以工作。
对于Activity
可以使用onWindowFocusChanged
的方法。就像这样:
@Override
public void onWindowFocusChanged(final boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(hasFocus) {
TransitionManager.go(scene2);
}
}