mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Add support for Modal in Android
Summary: This diff implements Modal for Android in Fabric Reviewed By: JoshuaGross Differential Revision: D15069863 fbshipit-source-id: 4171c9590a4a7a1f4f80cf9b08ea9a9e94b9097a
This commit is contained in:
committed by
Facebook Github Bot
parent
ecdb239eaa
commit
532afbde6e
@@ -87,6 +87,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener {
|
||||
sComponentNames.put("Image", "RCTImageView");
|
||||
sComponentNames.put("ScrollView", "RCTScrollView");
|
||||
sComponentNames.put("Slider", "RCTSlider");
|
||||
sComponentNames.put("ModalHostView", "RCTModalHostView");
|
||||
sComponentNames.put("Paragraph", "RCTText");
|
||||
sComponentNames.put("Text", "RCText");
|
||||
sComponentNames.put("RawText", "RCTRawText");
|
||||
|
||||
@@ -8,9 +8,14 @@
|
||||
package com.facebook.react.views.modal;
|
||||
|
||||
import android.content.DialogInterface;
|
||||
import android.graphics.Point;
|
||||
import com.facebook.react.bridge.WritableMap;
|
||||
import com.facebook.react.bridge.WritableNativeMap;
|
||||
import com.facebook.react.common.MapBuilder;
|
||||
import com.facebook.react.module.annotations.ReactModule;
|
||||
import com.facebook.react.uimanager.LayoutShadowNode;
|
||||
import com.facebook.react.uimanager.PixelUtil;
|
||||
import com.facebook.react.uimanager.StateWrapper;
|
||||
import com.facebook.react.uimanager.ThemedReactContext;
|
||||
import com.facebook.react.uimanager.UIManagerModule;
|
||||
import com.facebook.react.uimanager.ViewGroupManager;
|
||||
@@ -102,4 +107,13 @@ public class ReactModalHostManager extends ViewGroupManager<ReactModalHostView>
|
||||
super.onAfterUpdateTransaction(view);
|
||||
view.showOrUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(ReactModalHostView view, StateWrapper stateWrapper) {
|
||||
Point modalSize = ModalHostHelper.getModalHostSize(view.getContext());
|
||||
WritableMap map = new WritableNativeMap();
|
||||
map.putDouble("screenWidth", PixelUtil.toDIPFromPixel(modalSize.x));
|
||||
map.putDouble("screenHeight", PixelUtil.toDIPFromPixel(modalSize.y));
|
||||
stateWrapper.updateState(map);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user