in android/src/main/java/com/facebook/flipper/plugins/inspector/descriptors/ViewDescriptor.java [627:690]
private void setLayoutParams(View node, String[] path, FlipperDynamic value) {
final LayoutParams params = node.getLayoutParams();
switch (path[0]) {
case "width":
params.width = toSize(value.asString());
break;
case "height":
params.height = toSize(value.asString());
break;
case "weight":
final LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) params;
linearParams.weight = value.asFloat();
break;
}
if (params instanceof MarginLayoutParams) {
final MarginLayoutParams marginParams = (MarginLayoutParams) params;
switch (path[0]) {
case "margin":
switch (path[1]) {
case "left":
marginParams.leftMargin = value.asInt();
break;
case "top":
marginParams.topMargin = value.asInt();
break;
case "right":
marginParams.rightMargin = value.asInt();
break;
case "bottom":
marginParams.bottomMargin = value.asInt();
break;
}
break;
}
}
if (params instanceof FrameLayout.LayoutParams) {
final FrameLayout.LayoutParams frameLayoutParams = (FrameLayout.LayoutParams) params;
switch (path[0]) {
case "gravity":
frameLayoutParams.gravity = sGravityMapping.get(value.asString());
break;
}
}
if (params instanceof LinearLayout.LayoutParams) {
final LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) params;
switch (path[0]) {
case "weight":
linearParams.weight = value.asFloat();
break;
case "gravity":
linearParams.gravity = sGravityMapping.get(value.asString());
break;
}
}
node.setLayoutParams(params);
}