use of com.facebook.csslayout.CSSNode in project LuaViewSDK by alibaba.
the class UDView method setFlexCss.
public UDView setFlexCss(String cssString) {
if (mFlexCss == null || !mFlexCss.equals(cssString)) {
CSSNode node = getCssNode();
FlexboxCSSParser.parseFlexNodeCSS(node, cssString);
mFlexCss = cssString;
}
return this;
}
use of com.facebook.csslayout.CSSNode in project LuaViewSDK by alibaba.
the class LVViewGroup method measureChildNode.
private void measureChildNode(int widthMeasureSpec, int heightMeasureSpec) {
int childNodeViewsCount = mChildNodeViews.size();
for (int i = 0; i < childNodeViewsCount; i++) {
UDView nodeView = mChildNodeViews.get(i);
View view = nodeView.getView();
CSSNode node = nodeView.getCssNode();
if (node.getSizeToFit()) {
int margins = (int) (node.getMargin().get(Spacing.LEFT) + node.getMargin().get(Spacing.RIGHT));
measureChild(view, widthMeasureSpec - margins, heightMeasureSpec);
node.setNoDirtyStyleWidth(view.getMeasuredWidth());
node.setNoDirtyStyleHeight(view.getMeasuredHeight());
}
if (view instanceof LVViewGroup) {
LVViewGroup viewGroup = (LVViewGroup) view;
if (viewGroup.getCssNode().getChildCount() > 0) {
viewGroup.measureChildNode(widthMeasureSpec, heightMeasureSpec);
}
}
}
}
use of com.facebook.csslayout.CSSNode in project LuaViewSDK by alibaba.
the class LVViewGroup method assignNodeLayoutParams.
private void assignNodeLayoutParams() {
int childNodeViewsCount = mChildNodeViews.size();
for (int i = 0; i < childNodeViewsCount; i++) {
UDView nodeView = mChildNodeViews.get(i);
View view = nodeView.getView();
CSSNode node = nodeView.getCssNode();
if (view != null && node != null) {
int x = (int) node.getLayoutX();
int y = (int) node.getLayoutY();
int width = (int) node.getLayoutWidth();
int height = (int) node.getLayoutHeight();
RelativeLayout.LayoutParams lParams = (LayoutParams) view.getLayoutParams();
if (lParams == null) {
lParams = new RelativeLayout.LayoutParams(width, height);
} else {
lParams.width = width;
lParams.height = height;
}
lParams.setMargins(x, y, 0, 0);
view.setLayoutParams(lParams);
if (view instanceof LVViewGroup) {
LVViewGroup viewGroup = (LVViewGroup) view;
if (viewGroup.getCssNode().getChildCount() > 0) {
viewGroup.assignNodeLayoutParams();
}
}
}
}
}
Aggregations