mirror of
https://github.com/zhigang1992/react-navigation.git
synced 2026-03-06 22:39:41 +08:00
Get rid of stackcontainer (for now)
This commit is contained in:
@@ -19,7 +19,6 @@ public class RNScreenPackage implements ReactPackage {
|
||||
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
||||
return Arrays.<ViewManager>asList(
|
||||
new ScreenContainerViewManager(),
|
||||
new ScreenStackViewManager(),
|
||||
new ScreenViewManager()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
package com.swmansion.rnscreens;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ScreenStack extends ScreenContainer {
|
||||
|
||||
private float mTransitioning;
|
||||
|
||||
public ScreenStack(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public void setTransitioning(float transitioning) {
|
||||
if (transitioning != mTransitioning) {
|
||||
mTransitioning = transitioning;
|
||||
markUpdated();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isScreenActive(Screen screen, List<Screen> allScreens) {
|
||||
int size = allScreens.size();
|
||||
if (size < 1) {
|
||||
return false;
|
||||
}
|
||||
Screen lastScreen = allScreens.get(size - 1);
|
||||
if (mTransitioning != 0 && size > 1) {
|
||||
Screen secondToLast = allScreens.get(size - 2);
|
||||
return screen == lastScreen || screen == secondToLast;
|
||||
}
|
||||
return screen == lastScreen;
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package com.swmansion.rnscreens;
|
||||
|
||||
import com.facebook.react.uimanager.ThemedReactContext;
|
||||
import com.facebook.react.uimanager.annotations.ReactProp;
|
||||
|
||||
public class ScreenStackViewManager extends ScreenContainerViewManager {
|
||||
|
||||
protected static final String REACT_CLASS = "RNSScreenStack";
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return REACT_CLASS;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ScreenContainer createViewInstance(ThemedReactContext reactContext) {
|
||||
return new ScreenStack(reactContext);
|
||||
}
|
||||
|
||||
@ReactProp(name = "transitioning", defaultFloat = 0)
|
||||
public void setTransitioning(ScreenStack view, float transitioning) {
|
||||
view.setTransitioning(transitioning);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user