本文整理汇总了Java中com.facebook.react.uimanager.NativeViewHierarchyManager类的典型用法代码示例。如果您正苦于以下问题:Java NativeViewHierarchyManager类的具体用法?Java NativeViewHierarchyManager怎么用?Java NativeViewHierarchyManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
NativeViewHierarchyManager类属于com.facebook.react.uimanager包,在下文中一共展示了NativeViewHierarchyManager类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: applyShadowForView
import com.facebook.react.uimanager.NativeViewHierarchyManager; //导入依赖的package包/类
@ReactMethod
public void applyShadowForView(final Integer tag, final ReadableMap param) {
Log.d(TAG,"AndroidShadowManager applyShadowForView! tag: " + tag);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
return;
}
UIManagerModule uiManager = reactContext.getNativeModule(UIManagerModule.class);
uiManager.addUIBlock(new UIBlock() {
@Override
public void execute(NativeViewHierarchyManager nvhm) {
ReactViewGroup targetView = (ReactViewGroup) nvhm.resolveView(tag);
Log.d(TAG,"AndroidShadowManager view w = " + targetView.getWidth() + " h = " + targetView.getHeight());
// targetView.setBackgroundColor(Color.CYAN);
targetView.getViewTreeObserver().addOnGlobalLayoutListener(new OutlineAdjuster(targetView,param));
}
});
}
示例2: execute
import com.facebook.react.uimanager.NativeViewHierarchyManager; //导入依赖的package包/类
@Override
public void execute(NativeViewHierarchyManager nativeViewHierarchyManager) {
View view = nativeViewHierarchyManager.resolveView(tag);
if (view == null) {
callback.call(new Exception("No view found with reactTag: " + tag), null);
return;
}
callback.call(null, new RNWebGLTextureView(config, view));
}
示例3: tryInitializeHandlerForReactRootView
import com.facebook.react.uimanager.NativeViewHierarchyManager; //导入依赖的package包/类
private void tryInitializeHandlerForReactRootView(int ancestorViewTag) {
UIManagerModule uiManager = getReactApplicationContext().getNativeModule(UIManagerModule.class);
final int rootViewTag = uiManager.resolveRootTagFromReactTag(ancestorViewTag);
if (rootViewTag < 1) {
throw new JSApplicationIllegalArgumentException("Could find root view for a given ancestor with tag "
+ ancestorViewTag);
}
synchronized (mRoots) {
for (int i = 0; i < mRoots.size(); i++) {
RNGestureHandlerRootHelper root = mRoots.get(i);
if (root.getRootView().getRootViewTag() == rootViewTag) {
// we have found root helper registered for a given react root, we don't need to
// initialize a new one then
return;
}
}
}
synchronized (mEnqueuedRootViewInit) {
if (mEnqueuedRootViewInit.contains(rootViewTag)) {
// root view initialization already enqueued -> we skip
return;
}
mEnqueuedRootViewInit.add(rootViewTag);
}
// root helper for a given root tag has not been found, we may wat to check if the root view is
// an instance of RNGestureHandlerEnabledRootView and then initialize gesture handler with it
uiManager.addUIBlock(new UIBlock() {
@Override
public void execute(NativeViewHierarchyManager nativeViewHierarchyManager) {
View view = nativeViewHierarchyManager.resolveView(rootViewTag);
if (view instanceof RNGestureHandlerEnabledRootView) {
((RNGestureHandlerEnabledRootView) view).initialize();
} else {
// Seems like the root view is something else than RNGestureHandlerEnabledRootView, this
// is fine though as long as gestureHandlerRootHOC is used in JS
// FIXME: check and warn about gestureHandlerRootHOC
}
synchronized (mEnqueuedRootViewInit) {
mEnqueuedRootViewInit.remove(new Integer(rootViewTag));
}
}
});
}