当前位置: 首页>>代码示例>>Java>>正文


Java WXComponent.getDomObject方法代码示例

本文整理汇总了Java中com.taobao.weex.ui.component.WXComponent.getDomObject方法的典型用法代码示例。如果您正苦于以下问题:Java WXComponent.getDomObject方法的具体用法?Java WXComponent.getDomObject怎么用?Java WXComponent.getDomObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.taobao.weex.ui.component.WXComponent的用法示例。


在下文中一共展示了WXComponent.getDomObject方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onBindViewHolder

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
/**
     * Bind the component of the position to the holder. Then flush the view.
     *
     * @param holder   viewHolder, which holds reference to the view
     * @param position position of component in WXListComponent
     */
    @Override
    public void onBindViewHolder(ListBaseViewHolder holder, int position) {
        if (holder == null) return;
        holder.setComponentUsing(true);
        WXComponent component = getChild(position);
        if ( component == null
                || (component instanceof WXRefresh)
                || (component instanceof WXLoading)
                || (component.getDomObject()!=null && component.getDomObject().isFixed())
                ) {
            if(WXEnvironment.isApkDebugable()) {
                WXLogUtils.d(TAG, "Bind WXRefresh & WXLoading " + holder);
            }
            return;
        }

        if (component != null&& holder.getComponent() != null
                && holder.getComponent() instanceof WXCell) {

                holder.getComponent().bindData(component);
//              holder.getComponent().refreshData(component);
        }

    }
 
开发者ID:amap-demo,项目名称:weex-3d-map,代码行数:31,代码来源:WXListComponent.java

示例2: setHeaderView

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
/**
 *
 * @param refresh should be {@link WXRefreshView}
 */
public void setHeaderView(WXComponent refresh) {
    setRefreshEnable(true);
    if (swipeLayout != null) {
        WXRefreshView refreshView = swipeLayout.getHeaderView();
        if (refreshView != null) {
            ImmutableDomObject immutableDomObject = refresh.getDomObject();
            if (immutableDomObject != null) {
                int refreshHeight = (int) immutableDomObject.getLayoutHeight();
                swipeLayout.setRefreshHeight(refreshHeight);
                String colorStr = (String) immutableDomObject.getStyles().get(Constants.Name.BACKGROUND_COLOR);
                String bgColor = WXUtils.getString(colorStr, null);
                if (bgColor != null) {
                    if (!TextUtils.isEmpty(bgColor)) {
                        int colorInt = WXResourceUtils.getColor(bgColor);
                        if (!(colorInt == Color.TRANSPARENT)) {
                            swipeLayout.setRefreshBgColor(colorInt);
                        }
                    }
                }
                refreshView.setRefreshView(refresh.getHostView());
            }
        }
    }
}
 
开发者ID:weexext,项目名称:ucar-weex-core,代码行数:29,代码来源:BaseBounceView.java

示例3: setFooterView

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
/**
 *
 * @param loading should be {@link WXRefreshView}
 */
public void setFooterView(WXComponent loading) {
    setLoadmoreEnable(true);
    if (swipeLayout != null) {
        WXRefreshView refreshView = swipeLayout.getFooterView();
        if (refreshView != null) {
            ImmutableDomObject immutableDomObject = loading.getDomObject();
            if (immutableDomObject != null) {
                int loadingHeight = (int) immutableDomObject.getLayoutHeight();
                swipeLayout.setLoadingHeight(loadingHeight);
                String colorStr = (String) immutableDomObject.getStyles().get(Constants.Name.BACKGROUND_COLOR);
                String bgColor = WXUtils.getString(colorStr, null);
                if (bgColor != null) {
                    if (!TextUtils.isEmpty(bgColor)) {
                        int colorInt = WXResourceUtils.getColor(bgColor);
                        if (!(colorInt == Color.TRANSPARENT)) {
                            swipeLayout.setLoadingBgColor(colorInt);
                        }
                    }
                }
                refreshView.setRefreshView(loading.getHostView());
            }
        }
    }
}
 
开发者ID:weexext,项目名称:ucar-weex-core,代码行数:29,代码来源:BaseBounceView.java

示例4: onBindViewHolder

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
/**
   * Bind the component of the position to the holder. Then flush the view.
   *
   * @param holder   viewHolder, which holds reference to the view
   * @param position position of component in WXListComponent
   */
  @Override
  public void onBindViewHolder(ListBaseViewHolder holder, int position) {
    if (holder == null) return;
    holder.setComponentUsing(true);
    WXComponent component = getChild(position);
    if (component == null
        || (component instanceof WXRefresh)
        || (component instanceof WXLoading)
        || (component.getDomObject() != null && component.getDomObject().isFixed())
        ) {
      if (WXEnvironment.isApkDebugable()) {
        WXLogUtils.d(TAG, "Bind WXRefresh & WXLoading " + holder);
      }
      return;
    }

    if (holder.getComponent() != null && holder.getComponent() instanceof WXCell) {
      holder.getComponent().bindData(component);
//              holder.getComponent().refreshData(component);
    }

  }
 
开发者ID:erguotou520,项目名称:weex-uikit,代码行数:29,代码来源:BasicListComponent.java

示例5: onBeforeScroll

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
@Override
public void onBeforeScroll(int dx, int dy) {
    if (mStickyMap == null) {
        return;
    }
    HashMap<String, WXComponent> stickyMap = mStickyMap.get(getRef());
    if (stickyMap == null) {
        return;
    }
    Iterator<Map.Entry<String, WXComponent>> iterator = stickyMap.entrySet().iterator();
    Map.Entry<String, WXComponent> entry;
    WXComponent stickyComponent;
    while (iterator.hasNext()) {
        entry = iterator.next();
        stickyComponent = entry.getValue();

        if (stickyComponent != null && stickyComponent.getDomObject() != null
                && stickyComponent instanceof WXCell) {
            if (stickyComponent.getHostView() == null) {
                return;
            }

            int[] location = new int[2];
            stickyComponent.getHostView().getLocationOnScreen(location);
            int[] parentLocation = new int[2];
            stickyComponent.getParentScroller().getView().getLocationOnScreen(parentLocation);

            int top = location[1] - parentLocation[1];

            boolean showSticky = ((WXCell) stickyComponent).lastLocationY > 0 && top <= 0 && dy > 0;
            boolean removeSticky = ((WXCell) stickyComponent).lastLocationY <= 0 && top > 0 && dy < 0;
            if (showSticky) {
                bounceRecyclerView.notifyStickyShow((WXCell) stickyComponent);
            } else if (removeSticky) {
                bounceRecyclerView.notifyStickyRemove((WXCell) stickyComponent);
            }
            ((WXCell) stickyComponent).lastLocationY = top;
        }
    }
}
 
开发者ID:amap-demo,项目名称:weex-3d-map,代码行数:41,代码来源:WXListComponent.java

示例6: setSize

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
public void setSize(int width, int height) {
  if (width < 0 || height < 0) {
    return;
  }
  mGodViewWidth = width;
  mGodViewHeight = height;
  float realWidth = WXViewUtils.getWebPxByWidth(width);
  float realHeight = WXViewUtils.getWebPxByWidth(height);

  View godView = mGodCom.getHostView();
  if (godView != null) {
    ViewGroup.LayoutParams layoutParams = godView.getLayoutParams();
    if (layoutParams != null) {
      layoutParams.width = width;
      layoutParams.height = height;
      godView.setLayoutParams(layoutParams);

      JSONObject style = new JSONObject();
      if (mGodCom instanceof WXVContainer) {
        WXComponent rootComponent = ((WXVContainer) mGodCom).getChild(0);
        if (rootComponent != null && rootComponent.getDomObject() != null && rootComponent.getDomObject().isModifyHeight()) {
          style.put(Constants.Name.HEIGHT, realHeight);
        }
        if (rootComponent != null && rootComponent.getDomObject() != null && rootComponent.getDomObject().isModifyWidth()) {
          style.put(Constants.Name.WIDTH, realWidth);
        }
        updateRootComponentStyle(style);
      }
    }
  }
}
 
开发者ID:amap-demo,项目名称:weex-3d-map,代码行数:32,代码来源:WXSDKInstance.java

示例7: isAddAnimation

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
/**
 * To determine whether an animation is needed
 * @param child
 * @return
 */
private boolean isAddAnimation(WXComponent child) {
  ImmutableDomObject domObject = child.getDomObject();
  if (domObject != null) {
    Object attr = domObject.getAttrs().get(Constants.Name.INSERT_CELL_ANIMATION);
    if (Constants.Value.DEFAULT.equals(attr)) {
      return true;
    }
  }
  return false;
}
 
开发者ID:weexext,项目名称:ucar-weex-core,代码行数:16,代码来源:BasicListComponent.java

示例8: isKeepScrollPosition

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
/**
 * Determine if the component needs to be fixed at the time of insertion
 * @param child Need to insert the component
 * @return fixed=true
 */
private boolean isKeepScrollPosition(WXComponent child,int index) {
  ImmutableDomObject domObject = child.getDomObject();
  if (domObject != null) {
    Object attr = domObject.getAttrs().get(Constants.Name.KEEP_SCROLL_POSITION);
    if (WXUtils.getBoolean(attr, false) && index <= getChildCount() && index>-1) {
      return true;
    }
  }
  return false;
}
 
开发者ID:weexext,项目名称:ucar-weex-core,代码行数:16,代码来源:BasicListComponent.java

示例9: isRemoveAnimation

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
/**
 * To determine whether an animation is needed
 * @param child
 * @return
 */
private boolean isRemoveAnimation(WXComponent child) {
  ImmutableDomObject domObject = child.getDomObject();
  if (domObject != null) {
    Object attr = domObject.getAttrs().get(Constants.Name.DELETE_CELL_ANIMATION);
    if (Constants.Value.DEFAULT.equals(attr)) {
      return true;
    }
  }
  return false;
}
 
开发者ID:weexext,项目名称:ucar-weex-core,代码行数:16,代码来源:BasicListComponent.java

示例10: findComponentByAnchorName

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
@Nullable
private WXComponent findComponentByAnchorName(@NonNull WXComponent root, @NonNull String anchorName) {
  long start = 0;
  if (WXEnvironment.isApkDebugable()) {
    start = System.currentTimeMillis();
  }

  Deque<WXComponent> deque = new ArrayDeque<>();
  deque.add(root);
  while (!deque.isEmpty()) {
    WXComponent curComponent = deque.removeFirst();
    ImmutableDomObject object = curComponent.getDomObject();
    if (object != null) {
      String isAnchorSet = WXUtils.getString(object.getAttrs().get(anchorName), null);

      //hit
      if (isAnchorSet != null && isAnchorSet.equals("true")) {
        if (WXEnvironment.isApkDebugable()) {
          WXLogUtils.d("dragPerf", "findComponentByAnchorName time: " + (System.currentTimeMillis() - start) + "ms");
        }
        return curComponent;
      }
    }
    if (curComponent instanceof WXVContainer) {
      WXVContainer container = (WXVContainer) curComponent;
      for (int i = 0, len = container.childCount(); i < len; i++) {
        WXComponent child = container.getChild(i);
        deque.add(child);
      }
    }
  }

  if (WXEnvironment.isApkDebugable()) {
    WXLogUtils.d("dragPerf", "findComponentByAnchorName elapsed time: " + (System.currentTimeMillis() - start) + "ms");
  }
  return null;

}
 
开发者ID:weexext,项目名称:ucar-weex-core,代码行数:39,代码来源:BasicListComponent.java

示例11: onCreateViewHolder

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
/**
 * Create an instance of {@link ListBaseViewHolder} for the given viewType (not for the given
 * index). This method will look up for the first component that fits the viewType requirement and
 * doesn't be used. Then create the certain type of view, detach the view f[rom the component.
 *
 * @param parent   the ViewGroup into which the new view will be inserted
 * @param viewType the type of the new view
 * @return the created view holder.
 */
@Override
public ListBaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    if (mChildren != null) {
        if (mViewTypes == null)
            return createVHForFakeComponent(viewType);
        ArrayList<WXComponent> mTypes = mViewTypes.get(viewType);
        checkRecycledViewPool(viewType);
        if (mTypes == null)
            return createVHForFakeComponent(viewType);

        for (int i = 0; i < mTypes.size(); i++) {
            WXComponent component = mTypes.get(i);
            if (component == null
                    || component.isUsing()) {
                continue;
            }
            if (component.getDomObject()!=null && component.getDomObject().isFixed()) {
                return createVHForFakeComponent(viewType);
            } else {
                if (component instanceof WXCell) {
                    if (component.getRealView() != null) {
                        return new ListBaseViewHolder(component, viewType);
                    } else {
                        component.lazy(false);
                        component.createView(this, -1);
                        component.applyLayoutAndEvent(component);
                        return new ListBaseViewHolder(component, viewType);
                    }
                } else {
                    WXLogUtils.e(TAG, "List cannot include element except cell、header、fixed、refresh and loading");
                    return createVHForFakeComponent(viewType);
                }
            }
        }
    }
    if(WXEnvironment.isApkDebugable()) {
        WXLogUtils.e(TAG, "Cannot find request viewType: " + viewType);
    }
    return createVHForFakeComponent(viewType);
}
 
开发者ID:amap-demo,项目名称:weex-3d-map,代码行数:50,代码来源:WXListComponent.java

示例12: onBindViewHolder

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
/**
 * Bind the component of the position to the holder. Then flush the view.
 *
 * @param holder   viewHolder, which holds reference to the view
 * @param position position of component in list
 */
@Override
public void onBindViewHolder(final ListBaseViewHolder holder, int position) {
  if (holder == null) return;
  holder.setComponentUsing(true);
  WXComponent component = getChild(position);
  if (component == null
      || (component instanceof WXRefresh)
      || (component instanceof WXLoading)
      || (component.getDomObject() != null && component.getDomObject().isFixed())
      ) {
    if (WXEnvironment.isApkDebugable()) {
      WXLogUtils.d(TAG, "Bind WXRefresh & WXLoading " + holder);
    }
    return;
  }

  if (holder.getComponent() != null && holder.getComponent() instanceof WXCell) {
    if(holder.isRecycled()) {
      holder.bindData(component);
    }
    if (mDragHelper == null || !mDragHelper.isDraggable()) {
      return;
    }
    mTriggerType = (mTriggerType == null) ? DEFAULT_TRIGGER_TYPE : mTriggerType;

    WXCell cell = (WXCell) holder.getComponent();
    boolean isExcluded = isDragExcluded(cell.getDomObject());
    mDragHelper.setDragExcluded(holder, isExcluded);

    //NOTICE: event maybe consumed by other views
    if (DragTriggerType.PAN.equals(mTriggerType)) {
      mDragHelper.setLongPressDragEnabled(false);

      WXComponent anchorComponent = findComponentByAnchorName(cell, DRAG_ANCHOR);

      if (anchorComponent != null && anchorComponent.getHostView() != null && !isExcluded) {
        View anchor = anchorComponent.getHostView();
        anchor.setOnTouchListener(new View.OnTouchListener() {
          @Override
          public boolean onTouch(View v, MotionEvent event) {
            if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
              mDragHelper.startDrag(holder);
            }
            return true;
          }
        });
      } else {
        if (WXEnvironment.isApkDebugable()) {
          if(!isExcluded) {
            WXLogUtils.e(TAG, "[error] onBindViewHolder: the anchor component or view is not found");
          } else {
            WXLogUtils.d(TAG, "onBindViewHolder: position "+ position + " is drag excluded");
          }
        }
      }

    } else if (DragTriggerType.LONG_PRESS.equals(mTriggerType)) {
      mDragHelper.setLongPressDragEnabled(true);
    }
  }

}
 
开发者ID:weexext,项目名称:ucar-weex-core,代码行数:69,代码来源:BasicListComponent.java

示例13: onCreateViewHolder

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
/**
 * Create an instance of {@link ListBaseViewHolder} for the given viewType (not for the given
 * index). This  markComponentUsable();method will look up for the first component that fits the viewType requirement and
 * doesn't be used. Then create the certain type of view, detach the view f[rom the component.
 *
 * @param parent   the ViewGroup into which the new view will be inserted
 * @param viewType the type of the new view
 * @return the created view holder.
 */
@Override
public ListBaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  if (mChildren != null) {
    if (mViewTypes == null)
      return createVHForFakeComponent(viewType);
    ArrayList<WXComponent> mTypes = mViewTypes.get(viewType);
    checkRecycledViewPool(viewType);
    if (mTypes == null)
      return createVHForFakeComponent(viewType);

    for (int i = 0; i < mTypes.size(); i++) {
      WXComponent component = mTypes.get(i);
      if (component == null
          || component.isUsing()) {
        continue;
      }
      if (component.getDomObject() != null && component.getDomObject().isFixed()) {
        return createVHForFakeComponent(viewType);
      } else {
        if (component instanceof WXCell) {
          if (component.getRealView() != null) {
            return new ListBaseViewHolder(component, viewType);
          } else {
            ((WXCell) component).lazy(false);
            component.createView();
            component.applyLayoutAndEvent(component);
            return new ListBaseViewHolder(component, viewType);
          }
        } else if (component instanceof WXBaseRefresh) {
          return createVHForRefreshComponent(viewType);
        } else {
          WXLogUtils.e(TAG, "List cannot include element except cell、header、fixed、refresh and loading");
          return createVHForFakeComponent(viewType);
        }
      }
    }
  }
  if (WXEnvironment.isApkDebugable()) {
    WXLogUtils.e(TAG, "Cannot find request viewType: " + viewType);
  }
  return createVHForFakeComponent(viewType);
}
 
开发者ID:weexext,项目名称:ucar-weex-core,代码行数:52,代码来源:BasicListComponent.java

示例14: onBeforeScroll

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
@Override
public void onBeforeScroll(int dx, int dy) {
  if (mStickyMap == null) {
    return;
  }
  HashMap<String, WXComponent> stickyMap = mStickyMap.get(getRef());
  if (stickyMap == null) {
    return;
  }
  Iterator<Map.Entry<String, WXComponent>> iterator = stickyMap.entrySet().iterator();
  Map.Entry<String, WXComponent> entry;
  WXComponent stickyComponent;
  while (iterator.hasNext()) {
    entry = iterator.next();
    stickyComponent = entry.getValue();

    if (stickyComponent != null && stickyComponent.getDomObject() != null
        && stickyComponent instanceof WXCell) {

      WXCell cell = (WXCell) stickyComponent;
      if (cell.getHostView() == null) {
        return;
      }

      if (stickyComponent != null && stickyComponent.getDomObject() != null
          && stickyComponent instanceof WXCell) {
        if (stickyComponent.getHostView() == null) {
          return;
        }

        RecyclerView.LayoutManager layoutManager;
        boolean beforeFirstVisibleItem = false;
        if ((layoutManager = getHostView().getInnerView().getLayoutManager()) instanceof LinearLayoutManager) {
          int fVisible = ((LinearLayoutManager) layoutManager).findFirstVisibleItemPosition();
          int pos = mChildren.indexOf(cell);

          if (pos <= fVisible) {
            beforeFirstVisibleItem = true;
          }
        }

        int[] location = new int[2];
        stickyComponent.getHostView().getLocationOnScreen(location);
        int[] parentLocation = new int[2];
        stickyComponent.getParentScroller().getView().getLocationOnScreen(parentLocation);

        int top = location[1] - parentLocation[1];

        boolean showSticky = beforeFirstVisibleItem && cell.getLocationFromStart() >= 0 && top <= 0 && dy >= 0;
        boolean removeSticky = cell.getLocationFromStart() <= 0 && top > 0 && dy <= 0;
        if (showSticky) {
          bounceRecyclerView.notifyStickyShow(cell);
        } else if (removeSticky) {
          bounceRecyclerView.notifyStickyRemove(cell);
        }
        cell.setLocationFromStart(top);
      }
    }
  }
}
 
开发者ID:erguotou520,项目名称:weex-uikit,代码行数:61,代码来源:BasicListComponent.java

示例15: onCreateViewHolder

import com.taobao.weex.ui.component.WXComponent; //导入方法依赖的package包/类
/**
 * Create an instance of {@link ListBaseViewHolder} for the given viewType (not for the given
 * index). This method will look up for the first component that fits the viewType requirement and
 * doesn't be used. Then create the certain type of view, detach the view f[rom the component.
 *
 * @param parent   the ViewGroup into which the new view will be inserted
 * @param viewType the type of the new view
 * @return the created view holder.
 */
@Override
public ListBaseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  if (mChildren != null) {
    if (mViewTypes == null)
      return createVHForFakeComponent(viewType);
    ArrayList<WXComponent> mTypes = mViewTypes.get(viewType);
    checkRecycledViewPool(viewType);
    if (mTypes == null)
      return createVHForFakeComponent(viewType);

    for (int i = 0; i < mTypes.size(); i++) {
      WXComponent component = mTypes.get(i);
      if (component == null
          || component.isUsing()) {
        continue;
      }
      if (component.getDomObject() != null && component.getDomObject().isFixed()) {
        return createVHForFakeComponent(viewType);
      } else {
        if (component instanceof WXCell) {
          if (component.getRealView() != null) {
            return new ListBaseViewHolder(component, viewType);
          } else {
            ((WXCell) component).lazy(false);
            component.createView();
            component.applyLayoutAndEvent(component);
            return new ListBaseViewHolder(component, viewType);
          }
        } else if (component instanceof WXBaseRefresh) {
          return createVHForRefreshComponent(viewType);
        } else {
          WXLogUtils.e(TAG, "List cannot include element except cell、header、fixed、refresh and loading");
          return createVHForFakeComponent(viewType);
        }
      }
    }
  }
  if (WXEnvironment.isApkDebugable()) {
    WXLogUtils.e(TAG, "Cannot find request viewType: " + viewType);
  }
  return createVHForFakeComponent(viewType);
}
 
开发者ID:erguotou520,项目名称:weex-uikit,代码行数:52,代码来源:BasicListComponent.java


注:本文中的com.taobao.weex.ui.component.WXComponent.getDomObject方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。