• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java ReactShadowNode类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.facebook.react.uimanager.ReactShadowNode的典型用法代码示例。如果您正苦于以下问题:Java ReactShadowNode类的具体用法?Java ReactShadowNode怎么用?Java ReactShadowNode使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ReactShadowNode类属于com.facebook.react.uimanager包,在下文中一共展示了ReactShadowNode类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: invalidate

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
/**
 * Marks root node as updated to trigger a StateBuilder pass to collect DrawCommands for the node
 * tree. Use it when FlatShadowNode is updated but doesn't require a layout pass (e.g. background
 * color is changed).
 */
protected final void invalidate() {
  FlatShadowNode node = this;

  while (true) {
    if (node.mountsToView()) {
      if (node.mIsUpdated) {
        // already updated
        return;
      }

      node.mIsUpdated = true;
    }

    ReactShadowNode parent = node.getParent();
    if (parent == null) {
      // not attached to a hierarchy yet
      return;
    }

    node = (FlatShadowNode) parent;
  }
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:28,代码来源:FlatShadowNode.java


示例2: createRootShadowNode

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
@Override
protected ReactShadowNode createRootShadowNode() {
  if (mRCTImageViewManager != null) {
    // This is not the best place to initialize DraweeRequestHelper, but order of module
    // initialization is undefined, and this is pretty much the earliest when we are guarantied
    // that Fresco is initalized and DraweeControllerBuilder can be queried. This also happens
    // relatively rarely to have any performance considerations.
    mReactContext.getNativeModule(FrescoModule.class); // initialize Fresco
    DraweeRequestHelper.setDraweeControllerBuilder(
      mRCTImageViewManager.getDraweeControllerBuilder());
    mRCTImageViewManager = null;
  }

  ReactShadowNode node = new FlatRootShadowNode();
  I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance();
  if (sharedI18nUtilInstance.isRTL(mReactContext)) {
    node.setLayoutDirection(YogaDirection.RTL);
  }
  return node;
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:21,代码来源:FlatUIImplementation.java


示例3: handleCreateView

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
@Override
protected void handleCreateView(
    ReactShadowNode cssNode,
    int rootViewTag,
    @Nullable ReactStylesDiffMap styles) {
  if (cssNode instanceof FlatShadowNode) {
    FlatShadowNode node = (FlatShadowNode) cssNode;

    if (styles != null) {
      node.handleUpdateProperties(styles);
    }

    if (node.mountsToView()) {
      mStateBuilder.enqueueCreateOrUpdateView(node, styles);
    }
  } else {
    super.handleCreateView(cssNode, rootViewTag, styles);
  }
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:20,代码来源:FlatUIImplementation.java


示例4: handleUpdateView

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
@Override
protected void handleUpdateView(
    ReactShadowNode cssNode,
    String className,
    ReactStylesDiffMap styles) {
  if (cssNode instanceof FlatShadowNode) {
    FlatShadowNode node = (FlatShadowNode) cssNode;

    node.handleUpdateProperties(styles);

    if (node.mountsToView()) {
      mStateBuilder.enqueueCreateOrUpdateView(node, styles);
    }
  } else {
    super.handleUpdateView(cssNode, className, styles);
  }
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:18,代码来源:FlatUIImplementation.java


示例5: manageChildren

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
@Override
public void manageChildren(
    int viewTag,
    @Nullable ReadableArray moveFrom,
    @Nullable ReadableArray moveTo,
    @Nullable ReadableArray addChildTags,
    @Nullable ReadableArray addAtIndices,
    @Nullable ReadableArray removeFrom) {

  ReactShadowNode parentNode = resolveShadowNode(viewTag);

  // moveFrom and removeFrom are defined in original order before any mutations.
  removeChildren(parentNode, moveFrom, moveTo, removeFrom);

  // moveTo and addAtIndices are defined in final order after all the mutations applied.
  addChildren(parentNode, addChildTags, addAtIndices);
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:18,代码来源:FlatUIImplementation.java


示例6: setJSResponder

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
@Override
public void setJSResponder(int possiblyVirtualReactTag, boolean blockNativeResponder) {
  ReactShadowNode node = resolveShadowNode(possiblyVirtualReactTag);
  while (node.isVirtual()) {
    node = node.getParent();
  }
  int tag = node.getReactTag();

  // if the node in question doesn't mount to a View, find the first parent that does mount to
  // a View. without this, we'll crash when we try to set the JSResponder, since part of that
  // is to find the parent view and ask it to not intercept touch events.
  while (node instanceof FlatShadowNode && !((FlatShadowNode) node).mountsToView()) {
    node = node.getParent();
  }

  FlatUIViewOperationQueue operationsQueue = mStateBuilder.getOperationsQueue();
  operationsQueue.enqueueSetJSResponder(
      node == null ? tag : node.getReactTag(),
      possiblyVirtualReactTag,
      blockNativeResponder);
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:22,代码来源:FlatUIImplementation.java


示例7: addChildAt

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
/**
 * We need to set the styleWidth and styleHeight of the one child (represented by the <View/>
 * within the <RCTModalHostView/> in Modal.js.  This needs to fill the entire window.
 */
@Override
@TargetApi(16)
public void addChildAt(ReactShadowNode child, int i) {
  super.addChildAt(child, i);

  Context context = getThemedContext();
  WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
  Display display = wm.getDefaultDisplay();
  // getCurrentSizeRange will return the min and max width and height that the window can be
  display.getCurrentSizeRange(mMinPoint, mMaxPoint);

  int width, height;
  int rotation = display.getRotation();
  if (rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180) {
    // If we are vertical the width value comes from min width and height comes from max height
    width = mMinPoint.x;
    height = mMaxPoint.y;
  } else {
    // If we are horizontal the width value comes from max width and height comes from min height
    width = mMaxPoint.x;
    height = mMinPoint.y;
  }
  child.setStyleWidth(width);
  child.setStyleHeight(height);
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:30,代码来源:FlatReactModalShadowNode.java


示例8: NativeViewWrapper

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
NativeViewWrapper(ViewManager viewManager) {
  ReactShadowNode reactShadowNode = viewManager.createShadowNodeInstance();
  if (reactShadowNode instanceof YogaMeasureFunction) {
    mReactShadowNode = reactShadowNode;
    setMeasureFunction((YogaMeasureFunction) reactShadowNode);
  } else {
    mReactShadowNode = null;
  }

  if (viewManager instanceof ViewGroupManager) {
    ViewGroupManager viewGroupManager = (ViewGroupManager) viewManager;
    mNeedsCustomLayoutForChildren = viewGroupManager.needsCustomLayoutForChildren();
    mForceMountGrandChildrenToView = viewGroupManager.shouldPromoteGrandchildren();
  } else {
    mNeedsCustomLayoutForChildren = false;
  }

  forceMountToView();
  forceMountChildrenToView();
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:21,代码来源:NativeViewWrapper.java


示例9: getTextRoot

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
@android.support.annotation.Nullable
GroupShadowNode getTextRoot() {
    VirtualNode node = this;
    if (mTextRoot == null) {
        while (node != null) {
            if (node instanceof GroupShadowNode && ((GroupShadowNode) node).getGlyphContext() != null) {
                mTextRoot = (GroupShadowNode)node;
                break;
            }

            ReactShadowNode parent = node.getParent();

            if (!(parent instanceof VirtualNode)) {
                node = null;
            } else {
                node = (VirtualNode)parent;
            }
        }
    }

    return mTextRoot;
}
 
开发者ID:react-native-community,项目名称:react-native-svg,代码行数:23,代码来源:VirtualNode.java


示例10: getSvgShadowNode

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
SvgViewShadowNode getSvgShadowNode() {
    if (mSvgShadowNode != null) {
        return mSvgShadowNode;
    }

    ReactShadowNode parent = getParent();

    if (parent instanceof SvgViewShadowNode) {
        mSvgShadowNode = (SvgViewShadowNode)parent;
    } else if (parent instanceof VirtualNode) {
        mSvgShadowNode = ((VirtualNode) parent).getSvgShadowNode();
    } else {
        FLog.e(ReactConstants.TAG, "RNSVG: " + getClass().getName() + " should be descendant of a SvgViewShadow.");
    }

    return mSvgShadowNode;
}
 
开发者ID:react-native-community,项目名称:react-native-svg,代码行数:18,代码来源:VirtualNode.java


示例11: getAlignmentBaseline

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
AlignmentBaseline getAlignmentBaseline() {
    if (mAlignmentBaseline == null) {
        ReactShadowNode parent = this.getParent();
        while (parent != null) {
            if (parent instanceof TextShadowNode) {
                TextShadowNode node = (TextShadowNode)parent;
                final AlignmentBaseline baseline = node.mAlignmentBaseline;
                if (baseline != null) {
                    mAlignmentBaseline = baseline;
                    return baseline;
                }
            }
            parent = parent.getParent();
        }
    }
    if (mAlignmentBaseline == null) {
        mAlignmentBaseline = AlignmentBaseline.baseline;
    }
    return mAlignmentBaseline;
}
 
开发者ID:react-native-community,项目名称:react-native-svg,代码行数:21,代码来源:TextShadowNode.java


示例12: getBaselineShift

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
String getBaselineShift() {
    if (mBaselineShift == null) {
        ReactShadowNode parent = this.getParent();
        while (parent != null) {
            if (parent instanceof TextShadowNode) {
                TextShadowNode node = (TextShadowNode)parent;
                final String baselineShift = node.mBaselineShift;
                if (baselineShift != null) {
                    mBaselineShift = baselineShift;
                    return baselineShift;
                }
            }
            parent = parent.getParent();
        }
    }
    return mBaselineShift;
}
 
开发者ID:react-native-community,项目名称:react-native-svg,代码行数:18,代码来源:TextShadowNode.java


示例13: forceMountChildrenToView

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
final void forceMountChildrenToView() {
  if (mForceMountChildrenToView) {
    return;
  }

  mForceMountChildrenToView = true;
  for (int i = 0, childCount = getChildCount(); i != childCount; ++i) {
    ReactShadowNode child = getChildAt(i);
    if (child instanceof FlatShadowNode) {
      ((FlatShadowNode) child).forceMountToView();
    }
  }
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:14,代码来源:FlatShadowNode.java


示例14: addChildAt

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
@Override
public void addChildAt(ReactShadowNode child, int i) {
  super.addChildAt(child, i);
  if (mForceMountChildrenToView && child instanceof FlatShadowNode) {
    ((FlatShadowNode) child).forceMountToView();
  }
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:8,代码来源:FlatShadowNode.java


示例15: createShadowNode

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
@Override
protected ReactShadowNode createShadowNode(String className) {
  ReactShadowNode cssNode = super.createShadowNode(className);
  if (cssNode instanceof FlatShadowNode || cssNode.isVirtual()) {
    return cssNode;
  }

  ViewManager viewManager = resolveViewManager(className);
  return new NativeViewWrapper(viewManager);
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:11,代码来源:FlatUIImplementation.java


示例16: setChildren

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
@Override
public void setChildren(
    int viewTag,
    ReadableArray children) {

  ReactShadowNode parentNode = resolveShadowNode(viewTag);

  for (int i = 0; i < children.size(); i++) {
    ReactShadowNode addToChild = resolveShadowNode(children.getInt(i));
    addChildAt(parentNode, addToChild, i, i - 1);
  }
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:13,代码来源:FlatUIImplementation.java


示例17: dropNativeViews

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
private void dropNativeViews(ReactShadowNode child, ReactShadowNode parentNode) {
  if (child instanceof FlatShadowNode) {
    FlatShadowNode node = (FlatShadowNode) child;
    if (node.mountsToView() && node.isBackingViewCreated()) {
      int tag = -1;

      // this tag is used to remove the reference to this dropping view if it it's clipped.
      // we need to figure out the correct "view parent" tag to do this. note that this is
      // not necessarily getParent().getReactTag(), since getParent() may represent something
      // that's not a View - we need to find the first View (what would represent
      // view.getParent() on the ui thread), which is what this code is finding.
      ReactShadowNode tmpNode = parentNode;
      while (tmpNode != null) {
        if (tmpNode instanceof FlatShadowNode) {
          FlatShadowNode flatTmpNode = (FlatShadowNode) tmpNode;
          if (flatTmpNode.mountsToView() && flatTmpNode.isBackingViewCreated() &&
              flatTmpNode.getParent() != null) {
            tag = flatTmpNode.getReactTag();
            break;
          }
        }
        tmpNode = tmpNode.getParent();
      }

      // this will recursively drop all subviews
      mStateBuilder.dropView(node, tag);
      return;
    }
  }

  for (int i = 0, childCount = child.getChildCount(); i != childCount; ++i) {
    dropNativeViews(child.getChildAt(i), child);
  }
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:35,代码来源:FlatUIImplementation.java


示例18: removeChildAt

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
/**
 * Removes a child from parent, verifying that we are removing in descending order.
 */
private static ReactShadowNode removeChildAt(
    ReactShadowNode parentNode,
    int index,
    int prevIndex) {
  if (index >= prevIndex) {
    throw new RuntimeException(
        "Invariant failure, needs sorting! " + index + " >= " + prevIndex);
  }

  return parentNode.removeChildAt(index);
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:15,代码来源:FlatUIImplementation.java


示例19: addChildAt

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
/**
 * Adds a child to parent, verifying that we are adding in ascending order.
 */
private static void addChildAt(
    ReactShadowNode parentNode,
    ReactShadowNode childNode,
    int index,
    int prevIndex) {
  if (index <= prevIndex) {
    throw new RuntimeException(
        "Invariant failure, needs sorting! " + index + " <= " + prevIndex);
  }

  parentNode.addChildAt(childNode, index);
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:16,代码来源:FlatUIImplementation.java


示例20: applyUpdatesRecursive

import com.facebook.react.uimanager.ReactShadowNode; //导入依赖的package包/类
@Override
protected void applyUpdatesRecursive(
    ReactShadowNode cssNode,
    float absoluteX,
    float absoluteY) {
  mStateBuilder.applyUpdates((FlatRootShadowNode) cssNode);
}
 
开发者ID:qq565999484,项目名称:RNLearn_Project1,代码行数:8,代码来源:FlatUIImplementation.java



注:本文中的com.facebook.react.uimanager.ReactShadowNode类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ServerStatusDiffInterceptor类代码示例发布时间:2022-05-22
下一篇:
Java HTTPArgumentsPanel类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap