ObservableBooleanでSplashStatusモデルを作成します。ここでは
private static class SplashStatus {
public final ObservableBoolean isFinished = new ObservableBooelan();
}
は、あなたのスプラッシュレイアウトは次のとおりです。
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="status" type="com.example.SplashStatus"/>
</data>
<LinearLayout
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:text="Splash Screen"
android:onFinish="@{status.isFinished}"/>
</LinearLayout>
</layout>
と結合アダプタ方法:あなたのデータを初期化SplashActivity.java
で
@BindingAdapter("android:onFinish")
public static void finishSplash(View view, boolean isFinished) {
if(isFinished){
((Activity)(view.getContext())).startActivity(new Intent(view.getContext(), MainActivity.class))
((Activity)(view.getContext())).finish();
}
}
onCreateへのバインディングisFinished.set(true)
を終了メソッドに割り当てると、MainActivityが開始され、現在の処理が終了します。