私のアプリのUIでは、Transition
とFragment
を使用します。最初のFragment
のonCreateView
機能では、最初にScene
からScene
にディスプレイを変更するためにTransition
を起動します。その後、Button
をクリックすると、別のTransition
が表示され、第3のScene
で表される「スプラッシュスクリーン」が表示され、そのうちonTransactionEnd
にはFragment
をmyView.postDelayed(new myRunnableForChangingFragment(),1000)
に変更しようとします。トランジションとフラグメント
デバッグモードでは、Runnable
が正しく起動されていますが、新しいFragment
は最初のものに取って代わるものではありません...しかし、何かが起こりました。私は戻るボタンで2回クリックしなければなりません。最初Fragment
。実際にはFragment
が有効になっているが表示されていないようだ...
私はそれをどのように修正できるか考えてみたいですか?最初のコメントで尋ねたよう
、ここで私はFragment
を変更するために使用するコードは次のとおりです。
fragment=new mySecondFragment();
transaction=getActivity().getFragmentManager().beginTransaction();
transaction.replace(R.id.Conteneur, fragment,"Fragment tag");
transaction.addToBackStack(null);
transaction.commit();
私はこのコードは完全にonTransitionEnd
作品の外から起動することを追加することができます。
「コンテナ」のXMLファイル:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/Conteneur" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> </LinearLayout>
第一及び第二のシーンのためのXMLファイル(唯一の違いは、ボタンが最初のものでコードに不可視に設定されています) :
<TextView android:id="@+id/TitreJeux" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginBottom="@dimen/MargeVerticaleBoutonsInterfaceJeux" android:lines="1" android:text="@string/app_name" android:textColor="#FFFF00" android:textSize="35sp" android:textStyle="bold" android:typeface="serif"/> <vd63.jeux.JeuAnimationRapide.BoutonInterface android:id="@+id/BoutonOptions" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_gravity="center" android:layout_marginTop="@dimen/MargeVerticaleBoutonsInterfaceJeux" android:layout_weight="1" android:background="@drawable/bouton_jouer" android:text="@string/BoutonOptions" android:textColor="@color/CouleurTexteBoutons" android:textSize="25sp" android:typeface="serif"/>
"スプラッシュ" のシーンのためのXML FLE:当時に
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/EcranChargement" android:orientation="vertical" android:gravity="center" android:background="@drawable/fond_interface" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".JeuAnimationRapide"> <ImageView android:id="@+id/VD63" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/vd63"/> <ImageView android:id="@+id/Chargement" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/chargement"/>
I推移シーン1から(目に見えないボタン、シンプルSlide
)シーン2へシーン1(Slide
)、次に「スプラッシュ」シーン(Fade
トランジション)。
を追加する必要はありませんがFragmentTransactionコードを共有していただけますか? –
問題は解決しました。私は、さまざまなビューとコンテナを台無しにしていた... – Zelig63