本文整理汇总了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);
}
}
示例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());
}
}
}
}
示例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());
}
}
}
}
示例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);
}
}
示例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;
}
}
}
示例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);
}
}
}
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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);
}
示例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);
}
}
}
示例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);
}
示例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);
}
}
}
}
示例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);
}