Skip to content

Fix border styling issues in RNGestureHandlerButton #3409

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 11 commits into
base: main
Choose a base branch
from
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import android.view.View;
import androidx.annotation.Nullable;
import com.facebook.react.bridge.ColorPropConverter;
import com.facebook.react.bridge.DynamicFromObject;
import com.facebook.react.uimanager.BaseViewManager;
import com.facebook.react.uimanager.BaseViewManagerDelegate;
import com.facebook.react.uimanager.LayoutShadowNode;
Expand Down Expand Up @@ -44,12 +45,63 @@ public void setProperty(T view, String propName, @Nullable Object value) {
case "touchSoundDisabled":
mViewManager.setTouchSoundDisabled(view, value == null ? false : (boolean) value);
break;
case "borderRadius":
mViewManager.setBorderRadius(view, new DynamicFromObject(value));
break;
case "borderTopLeftRadius":
mViewManager.setBorderTopLeftRadius(view, new DynamicFromObject(value));
break;
case "borderTopRightRadius":
mViewManager.setBorderTopRightRadius(view, new DynamicFromObject(value));
break;
case "borderBottomLeftRadius":
mViewManager.setBorderBottomLeftRadius(view, new DynamicFromObject(value));
break;
case "borderBottomRightRadius":
mViewManager.setBorderBottomRightRadius(view, new DynamicFromObject(value));
break;
case "borderWidth":
mViewManager.setBorderWidth(view, value == null ? 0f : ((Double) value).floatValue());
break;
case "borderLeftWidth":
mViewManager.setBorderLeftWidth(view, value == null ? 0f : ((Double) value).floatValue());
break;
case "borderRightWidth":
mViewManager.setBorderRightWidth(view, value == null ? 0f : ((Double) value).floatValue());
break;
case "borderTopWidth":
mViewManager.setBorderTopWidth(view, value == null ? 0f : ((Double) value).floatValue());
break;
case "borderBottomWidth":
mViewManager.setBorderBottomWidth(view, value == null ? 0f : ((Double) value).floatValue());
break;
case "borderStartWidth":
mViewManager.setBorderStartWidth(view, value == null ? 0f : ((Double) value).floatValue());
break;
case "borderEndWidth":
mViewManager.setBorderEndWidth(view, value == null ? 0f : ((Double) value).floatValue());
break;
case "borderColor":
mViewManager.setBorderColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "borderLeftColor":
mViewManager.setBorderLeftColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "borderRightColor":
mViewManager.setBorderRightColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "borderTopColor":
mViewManager.setBorderTopColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "borderBottomColor":
mViewManager.setBorderBottomColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "borderStartColor":
mViewManager.setBorderStartColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "borderEndColor":
mViewManager.setBorderEndColor(view, ColorPropConverter.getColor(value, view.getContext()));
break;
case "borderStyle":
mViewManager.setBorderStyle(view, value == null ? "solid" : (String) value);
break;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

import android.view.View;
import androidx.annotation.Nullable;
import com.facebook.react.bridge.Dynamic;
import com.facebook.react.uimanager.ViewManagerWithGeneratedInterface;

public interface RNGestureHandlerButtonManagerInterface<T extends View> extends ViewManagerWithGeneratedInterface {
Expand All @@ -21,7 +22,24 @@ public interface RNGestureHandlerButtonManagerInterface<T extends View> extends
void setRippleColor(T view, @Nullable Integer value);
void setRippleRadius(T view, int value);
void setTouchSoundDisabled(T view, boolean value);
void setBorderRadius(T view, Dynamic value);
void setBorderTopLeftRadius(T view, Dynamic value);
void setBorderTopRightRadius(T view, Dynamic value);
void setBorderBottomLeftRadius(T view, Dynamic value);
void setBorderBottomRightRadius(T view, Dynamic value);
void setBorderWidth(T view, float value);
void setBorderLeftWidth(T view, float value);
void setBorderRightWidth(T view, float value);
void setBorderTopWidth(T view, float value);
void setBorderBottomWidth(T view, float value);
void setBorderStartWidth(T view, float value);
void setBorderEndWidth(T view, float value);
void setBorderColor(T view, @Nullable Integer value);
void setBorderLeftColor(T view, @Nullable Integer value);
void setBorderRightColor(T view, @Nullable Integer value);
void setBorderTopColor(T view, @Nullable Integer value);
void setBorderBottomColor(T view, @Nullable Integer value);
void setBorderStartColor(T view, @Nullable Integer value);
void setBorderEndColor(T view, @Nullable Integer value);
void setBorderStyle(T view, @Nullable String value);
}
Loading
Loading