我有2个动作
动作1
<action
android:id="@+id/actionBaseFragmentToAskForLocation"
app:destination="@+id/introAskForLocationFragment"
app:enterAnim="@anim/slide_in_right"
app:exitAnim="@anim/slide_out_left"
app:popEnterAnim="@anim/slide_in_left"
app:popExitAnim="@anim/slide_out_right" />
Run Code Online (Sandbox Code Playgroud)
动作2
<action
android:id="@+id/actionIntroAskLocationToLogin"
app:destination="@id/loginFragment"
app:enterAnim="@anim/slide_in_right"
app:exitAnim="@anim/slide_out_left"
app:popEnterAnim="@anim/slide_in_right"
app:popExitAnim="@anim/fade_out"
app:popUpTo="@+id/app_main_navigation" />
Run Code Online (Sandbox Code Playgroud)
我想要的是当第二个动作被触发时,我想清除后堆栈并仅将loginFragment设置为保留在堆栈中。
唯一的问题是当我执行Action2时,将“ slide_out_right”作为退出动画执行
我知道,如果我们从堆栈中弹出片段,则将触发action1的“ popExitAnim”,而不是action2的“ exitAnim”。
但是我想知道如何让片段执行slide_out_left动画以退出并同时将其弹出堆栈。
android android-navigation android-architecture-components android-architecture-navigation
我是匕首的新手,我已经定义了这样的应用程序组件
@Singleton
@Component(modules = {ApplicationModule.class})
public interface ApplicationComponent {
void inject(BaseActivity activity);
Context context();
}
Run Code Online (Sandbox Code Playgroud)
这是我的ApplicationModule
@Module
public class ApplicationModule {
public TipoApplication application;
public ApplicationModule(TipoApplication application) {
this.application = application;
}
@Singleton
@Provides
public Context provideContext(){return application.getApplicationContext();}
@Singleton
@Provides
public SharedPreferences provideSharedPreferences(Context context){
return PreferenceManager.getDefaultSharedPreferences(context);
}
@Singleton
@Provides
public Gson provideGson(){
return new Gson();
}
@Singleton
@Provides
public SharedPrefsManager provideSharedPrefsManager(SharedPreferences sharedPreferences, Gson gson){
return new SharedPrefsManager(sharedPreferences, gson);
}
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个依赖的组件LocationProviderComponent
@LocationScope
@Component(dependencies = {ApplicationComponent.class},modules = {LocationProviderModule.class})
public interface LocationProviderComponent …Run Code Online (Sandbox Code Playgroud) android ×2
android-architecture-components ×1
android-architecture-navigation ×1
dagger ×1
dagger-2 ×1