com.taobao.weex.ui.component.list.WXCell Java Examples

The following examples show how to use com.taobao.weex.ui.component.list.WXCell. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: BounceRecyclerView.java    From weex-uikit with MIT License 6 votes vote down vote up
/**
 * @param component
 */
public void notifyStickyShow(WXCell component) {
  if (component == null)
    return;
  if (!headComponentStack.isEmpty()) {
    WXCell oldCom = headComponentStack.pop();
    if (!oldCom.getRef().equals(component.getRef())) {
      headComponentStack.push(oldCom);
      headComponentStack.push(component);
      showSticky();
    } else {
      headComponentStack.push(oldCom);
      return;
    }
  } else {
    headComponentStack.push(component);
    showSticky();
  }
}
 
Example #2
Source File: BounceRecyclerView.java    From weex-uikit with MIT License 6 votes vote down vote up
/**
 * Pop stickyView to stack
 */
private void showSticky() {
  WXCell headComponent = headComponentStack.pop();
  headComponentStack.push(headComponent);
  final View headerView = headComponent.getRealView();
  if (headerView == null)
    return;
  headerViewStack.push(headerView);
  headComponent.removeSticky();
  final ViewGroup parent = (ViewGroup) getParent();
  if(parent != null){
    parent.post(WXThread.secure(new Runnable() {
      @Override
      public void run() {
        ViewGroup existedParent;
        if((existedParent = (ViewGroup)headerView.getParent())!= null){
          existedParent.removeView(headerView);
        }
        parent.addView(headerView);
      }
    }));
  }
}
 
Example #3
Source File: BounceRecyclerView.java    From weex-uikit with MIT License 6 votes vote down vote up
/**
 * remove top stickyView
 * @param component
 */
private void removeSticky(WXComponent component) {
  final WXCell headComponent = headComponentStack.pop();
  if (!component.getRef().equals(headComponent.getRef())) {
    headComponentStack.push(headComponent);
    return;
  }
  final View headerView = headerViewStack.pop();
  final ViewGroup parent = (ViewGroup) getParent();
  if(parent != null){
    parent.post(WXThread.secure(new Runnable() {
      @Override
      public void run() {
        parent.removeView(headerView);
        headComponent.recoverySticky();
      }
    }));
  }

}
 
Example #4
Source File: WXSDKEngine.java    From weex with Apache License 2.0 6 votes vote down vote up
private static void register() {
  try {
    registerComponent(WXBasicComponentType.TEXT, WXText.class, false);
    registerComponent(WXBasicComponentType.IMG, WXImage.class, false);
    registerComponent(WXBasicComponentType.DIV, WXDiv.class, false);
    registerComponent(WXBasicComponentType.IMAGE, WXImage.class, false);
    registerComponent(WXBasicComponentType.CONTAINER, WXDiv.class, false);
    registerComponent(WXBasicComponentType.SCROLLER, WXScroller.class, false);
    registerComponent(WXBasicComponentType.SLIDER, WXSlider.class, true);

    registerComponent(WXListComponent.class, false,WXBasicComponentType.LIST,WXBasicComponentType.VLIST);
    registerComponent(HorizontalListComponent.class,false,WXBasicComponentType.HLIST);
    registerComponent(WXBasicComponentType.CELL, WXCell.class, true);
    registerComponent(WXBasicComponentType.INDICATOR, WXIndicator.class, true);
    registerComponent(WXBasicComponentType.VIDEO, WXVideo.class, false);
    registerComponent(WXBasicComponentType.INPUT, WXInput.class, false);
    registerComponent(WXBasicComponentType.SWITCH, WXSwitch.class, false);
    registerComponent(WXBasicComponentType.A, WXA.class, false);
    registerComponent(WXBasicComponentType.EMBED, WXEmbed.class, true);
    registerComponent(WXBasicComponentType.WEB, WXWeb.class);
    registerComponent(WXBasicComponentType.REFRESH, WXRefresh.class);
    registerComponent(WXBasicComponentType.LOADING, WXLoading.class);
    registerComponent(WXBasicComponentType.LOADING_INDICATOR, WXLoadingIndicator.class);

    registerModule("dom", WXDomModule.class, true);
    registerModule("modal", WXModalUIModule.class, false);
    registerModule("instanceWrap", WXInstanceWrap.class, true);
    registerModule("animation", WXAnimationModule.class, true);
    registerModule("webview", WXWebViewModule.class, true);
    registerModule("navigator", WXNavigatorModule.class);
    registerModule("stream", WXStreamModule.class);

    registerDomObject(WXBasicComponentType.TEXT, WXTextDomObject.class);
    registerDomObject(WXBasicComponentType.INPUT, WXTextDomObject.class);
    registerDomObject(WXBasicComponentType.SWITCH, WXSwitchDomObject.class);
  } catch (WXException e) {
    WXLogUtils.e("[WXSDKEngine] register:" + WXLogUtils.getStackTrace(e));
  }
}
 
Example #5
Source File: BounceRecyclerView.java    From weex-uikit with MIT License 5 votes vote down vote up
/**
 * @param component
 */
public void notifyStickyRemove(WXCell component) {
  if (component == null)
    return;
  if (!headComponentStack.isEmpty() && !headerViewStack.isEmpty()) {
    removeSticky(component);
  }
}
 
Example #6
Source File: BounceRecyclerView.java    From weex-uikit with MIT License 5 votes vote down vote up
/**
 * Clear All Sticky of stack
 */
public void clearSticky() {
  int size = headComponentStack.size();
  while (size > 0 && headerViewStack.size() == size) {
    WXCell headComponent = headComponentStack.pop();
    View headerView = headerViewStack.pop();
    ((ViewGroup) getParent()).removeView(headerView);
    headComponent.recoverySticky();
  }
}
 
Example #7
Source File: BounceRecyclerView.java    From ucar-weex-core with Apache License 2.0 4 votes vote down vote up
/**
 * @param component
 */
public void notifyStickyShow(WXCell component) {
  mStickyHeaderHelper.notifyStickyShow(component);
}
 
Example #8
Source File: BounceRecyclerView.java    From ucar-weex-core with Apache License 2.0 4 votes vote down vote up
/**
 *
 * @param compToRemove
 */
@Override
public void notifyStickyRemove(WXCell compToRemove) {
  mStickyHeaderHelper.notifyStickyRemove(compToRemove);
}
 
Example #9
Source File: WXSDKEngine.java    From weex-uikit with MIT License 3 votes vote down vote up
private static void register() {
  BatchOperationHelper batchHelper = new BatchOperationHelper(WXBridgeManager.getInstance());
  try {
    registerComponent(
      new SimpleComponentHolder(
        WXText.class,
        new WXText.Creator()
      ),
      false,
      WXBasicComponentType.TEXT
    );
    registerComponent(
      new SimpleComponentHolder(
        WXDiv.class,
        new WXDiv.Ceator()
      ),
      false,
      WXBasicComponentType.CONTAINER,
      WXBasicComponentType.DIV,
      WXBasicComponentType.HEADER,
      WXBasicComponentType.FOOTER
    );
    registerComponent(
      new SimpleComponentHolder(
        WXImage.class,
        new WXImage.Ceator()
      ),
      false,
      WXBasicComponentType.IMAGE,
      WXBasicComponentType.IMG
    );
    registerComponent(
      new SimpleComponentHolder(
        WXScroller.class,
        new WXScroller.Creator()
      ),
      false,
      WXBasicComponentType.SCROLLER
    );
    registerComponent(
      new SimpleComponentHolder(
        WXSlider.class,
        new WXSlider.Creator()
      ),
      true,
      WXBasicComponentType.SLIDER
    );
    registerComponent(
      new SimpleComponentHolder(
              WXSliderNeighbor.class,
        new WXSliderNeighbor.Creator()
      ),
      true,
      WXBasicComponentType.SLIDER_NEIGHBOR
    );
    registerComponent(SimpleListComponent.class,false,"simplelist");
    registerComponent(WXListComponent.class, false,WXBasicComponentType.LIST,WXBasicComponentType.VLIST);
    registerComponent(HorizontalListComponent.class,false,WXBasicComponentType.HLIST);
    registerComponent(WXBasicComponentType.CELL, WXCell.class, true);
    registerComponent(WXBasicComponentType.INDICATOR, WXIndicator.class, true);
    registerComponent(WXBasicComponentType.VIDEO, WXVideo.class, false);
    registerComponent(WXBasicComponentType.INPUT, WXInput.class, false);
    registerComponent(WXBasicComponentType.TEXTAREA, Textarea.class,false);
    registerComponent(WXBasicComponentType.SWITCH, WXSwitch.class, false);
    registerComponent(WXBasicComponentType.A, WXA.class, false);
    registerComponent(WXBasicComponentType.EMBED, WXEmbed.class, true);
    registerComponent(WXBasicComponentType.WEB, WXWeb.class);
    registerComponent(WXBasicComponentType.REFRESH, WXRefresh.class);
    registerComponent(WXBasicComponentType.LOADING, WXLoading.class);
    registerComponent(WXBasicComponentType.LOADING_INDICATOR, WXLoadingIndicator.class);
    registerComponent(WXBasicComponentType.HEADER, WXHeader.class);

    registerModule("modal", WXModalUIModule.class, false);
    registerModule("instanceWrap", WXInstanceWrap.class, true);
    registerModule("animation", WXAnimationModule.class, true);
    registerModule("webview", WXWebViewModule.class, true);
    registerModule("navigator", WXNavigatorModule.class);
    registerModule("stream", WXStreamModule.class);
    registerModule("timer", WXTimerModule.class, true);
    registerModule("storage", WXStorageModule.class, true);
    registerModule("clipboard", WXClipboardModule.class, true);
    registerModule("globalEvent",WXGlobalEventModule.class);
    registerModule("picker", WXPickersModule.class);
    registerModule("meta", WXMetaModule.class,true);
    registerModule("webSocket", WebSocketModule.class);


    registerDomObject(WXBasicComponentType.INDICATOR, WXIndicator.IndicatorDomNode.class);
    registerDomObject(WXBasicComponentType.TEXT, WXTextDomObject.class);
    registerDomObject(WXBasicComponentType.INPUT, BasicEditTextDomObject.class);
    registerDomObject(WXBasicComponentType.TEXTAREA, TextAreaEditTextDomObject.class);
    registerDomObject(WXBasicComponentType.SWITCH, WXSwitchDomObject.class);
    registerDomObject(WXBasicComponentType.LIST, WXListDomObject.class);
    registerDomObject(WXBasicComponentType.VLIST, WXListDomObject.class);
    registerDomObject(WXBasicComponentType.HLIST, WXListDomObject.class);
    registerDomObject(WXBasicComponentType.SCROLLER, WXScrollerDomObject.class);
  } catch (WXException e) {
    WXLogUtils.e("[WXSDKEngine] register:", e);
  }
  batchHelper.flush();
}