Java Code Examples for android.view.View#setClipToOutline()

The following examples show how to use android.view.View#setClipToOutline() . 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: YcCardViewApi21.java    From CardViewShadowColor with Apache License 2.0 5 votes vote down vote up
@Override
public void initialize(YcCardViewDelegate cardView, Context context, int backgroundColor,
                       float radius, float elevation, float maxElevation, int startShadowColor, int endShadowColor) {
    Log.e("AAA","CardViewApi21");
    final YcRoundRectDrawable background = new YcRoundRectDrawable(backgroundColor, radius);
    cardView.setCardBackground(background);

    View view = cardView.getCardView();
    view.setClipToOutline(true);
    view.setElevation(elevation);
    setMaxElevation(cardView, maxElevation);
}
 
Example 2
Source File: CardViewApi21.java    From pius1 with GNU Lesser General Public License v3.0 5 votes vote down vote up
@Override
public void initialize(CardViewDelegate cardView, Context context, int backgroundColor,
        float radius, float elevation, float maxElevation) {
    final RoundRectDrawable backgroundDrawable = new RoundRectDrawable(backgroundColor, radius);
    cardView.setBackgroundDrawable(backgroundDrawable);
    View view = (View) cardView;
    view.setClipToOutline(true);
    view.setElevation(elevation);
    setMaxElevation(cardView, maxElevation);
}
 
Example 3
Source File: FlipLayout.java    From FlipLayout with Apache License 2.0 5 votes vote down vote up
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public void addView(View child, int index, ViewGroup.LayoutParams params) {
    super.addView(child, index, params);
    int i;
    if (index == -1) {
        i = getChildCount() - 1;
    } else {
        i = index;
    }
    child.setVisibility(i == visibleChild ? VISIBLE : INVISIBLE);
    child.setClipToOutline(false);
}
 
Example 4
Source File: ToggleGroupApi21.java    From ToggleButtons with MIT License 5 votes vote down vote up
@Override
public void initialize(ToggleGroupDelegate groupView, Context context,
					   ColorStateList backgroundColor, float radius, float elevation, float maxElevation) {
	final RoundRectDrawable background = new RoundRectDrawable(backgroundColor, radius);
	groupView.setGroupBackground(background);

	View view = groupView.getToggleGroup();
	view.setClipToOutline(true);
	view.setElevation(elevation);
	setMaxElevation(groupView, maxElevation);
}
 
Example 5
Source File: CardViewApi21.java    From OptionRoundCardview with Apache License 2.0 5 votes vote down vote up
@Override
public void initialize(CardViewDelegate cardView, Context context, int backgroundColor,
                       float radius, float elevation, float maxElevation, int cornerFlag, int edgesFlag) {
    final OptRoundRectDrawable backgroundDrawable = new OptRoundRectDrawable(backgroundColor, radius, cornerFlag);
    cardView.setBackgroundDrawable(backgroundDrawable);
    View view = (View) cardView;
    view.setClipToOutline(true);
    view.setElevation(elevation);
    setMaxElevation(cardView, maxElevation);
}
 
Example 6
Source File: ToggleGroupApi21.java    From ToggleButtons with MIT License 5 votes vote down vote up
@Override
public void initialize(ToggleGroupDelegate groupView, Context context,
					   ColorStateList backgroundColor, float radius, float elevation, float maxElevation) {
	final RoundRectDrawable background = new RoundRectDrawable(backgroundColor, radius);
	groupView.setGroupBackground(background);

	View view = groupView.getToggleGroup();
	view.setClipToOutline(true);
	view.setElevation(elevation);
	setMaxElevation(groupView, maxElevation);
}
 
Example 7
Source File: PingerAdapter.java    From friendlyping with Apache License 2.0 5 votes vote down vote up
private View initializeConvertView(ViewGroup parent) {
    View convertView;
    final View view = mLayoutInflater.inflate(R.layout.pinger_item_view, parent, false);
    convertView = view;
    convertView.setTag(R.id.name, view.findViewById(R.id.name));
    final View tmpProfilePicture = view.findViewById(R.id.profile_picture);
    // OutlineProviders are available from API 21 onwards.
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        tmpProfilePicture.setClipToOutline(true);
        tmpProfilePicture.setOutlineProvider(new PingerOutlineProvider());
    }
    convertView.setTag(R.id.profile_picture, tmpProfilePicture);
    return convertView;
}
 
Example 8
Source File: RoundedRectHelperApi21.java    From adt-leanback-support with Apache License 2.0 5 votes vote down vote up
public static void setRoundedRectBackground(View view, int color) {
    if (color == Color.TRANSPARENT) {
        view.setOutlineProvider(sOutlineProvider);
    } else {
        view.setOutlineProvider(ViewOutlineProvider.BACKGROUND);
        view.setBackgroundResource(R.drawable.lb_rounded_rect_bg);
        ((GradientDrawable) view.getBackground().mutate()).setColor(color);
    }
    view.setClipToOutline(true);
}
 
Example 9
Source File: LayoutHelper.java    From DanDanPlayForAndroid with MIT License 4 votes vote down vote up
@Override
public void setRadiusAndShadow(int radius, @ILayout.HideRadiusSide int hideRadiusSide, int shadowElevation, float shadowAlpha) {
    View owner = mOwner.get();
    if (owner == null) {
        return;
    }

    mRadius = radius;
    mHideRadiusSide = hideRadiusSide;

    if (mRadius > 0) {
        if (hideRadiusSide == HIDE_RADIUS_SIDE_TOP) {
            mRadiusArray = new float[]{0, 0, 0, 0, mRadius, mRadius, mRadius, mRadius};
        } else if (hideRadiusSide == HIDE_RADIUS_SIDE_RIGHT) {
            mRadiusArray = new float[]{mRadius, mRadius, 0, 0, 0, 0, mRadius, mRadius};
        } else if (hideRadiusSide == HIDE_RADIUS_SIDE_BOTTOM) {
            mRadiusArray = new float[]{mRadius, mRadius, mRadius, mRadius, 0, 0, 0, 0};
        } else if (hideRadiusSide == HIDE_RADIUS_SIDE_LEFT) {
            mRadiusArray = new float[]{0, 0, mRadius, mRadius, mRadius, mRadius, 0, 0};
        } else {
            mRadiusArray = null;
        }
    }

    mShadowElevation = shadowElevation;
    mShadowAlpha = shadowAlpha;
    if (useFeature()) {
        if (mShadowElevation == 0 || isRadiusWithSideHidden()) {
            owner.setElevation(0);
        } else {
            owner.setElevation(mShadowElevation);
        }

        owner.setOutlineProvider(new ViewOutlineProvider() {
            @Override
            @TargetApi(21)
            public void getOutline(View view, Outline outline) {
                int w = view.getWidth(), h = view.getHeight();
                if (w == 0 || h == 0) {
                    return;
                }
                if (isRadiusWithSideHidden()) {
                    int left = 0, top = 0, right = w, bottom = h;
                    if (mHideRadiusSide == HIDE_RADIUS_SIDE_LEFT) {
                        left -= mRadius;
                    } else if (mHideRadiusSide == HIDE_RADIUS_SIDE_TOP) {
                        top -= mRadius;
                    } else if (mHideRadiusSide == HIDE_RADIUS_SIDE_RIGHT) {
                        right += mRadius;
                    } else if (mHideRadiusSide == HIDE_RADIUS_SIDE_BOTTOM) {
                        bottom += mRadius;
                    }
                    outline.setRoundRect(left, top,
                            right, bottom, mRadius);
                    return;
                }

                int top = mOutlineInsetTop, bottom = Math.max(top + 1, h - mOutlineInsetBottom),
                        left = mOutlineInsetLeft, right = w - mOutlineInsetRight;
                if (mIsOutlineExcludePadding) {
                    left += view.getPaddingLeft();
                    top += view.getPaddingTop();
                    right = Math.max(left + 1, right - view.getPaddingRight());
                    bottom = Math.max(top + 1, bottom - view.getPaddingBottom());
                }
                outline.setAlpha(mShadowAlpha);
                if (mRadius <= 0) {
                    outline.setRect(left, top,
                            right, bottom);
                } else {
                    outline.setRoundRect(left, top,
                            right, bottom, mRadius);
                }
            }
        });

        owner.setClipToOutline(mRadius > 0);

    }
    owner.invalidate();
}
 
Example 10
Source File: MountState.java    From litho with Apache License 2.0 4 votes vote down vote up
private static void setClipToOutline(View view, boolean clipToOutline) {
  if (clipToOutline && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    view.setClipToOutline(clipToOutline);
  }
}
 
Example 11
Source File: MountState.java    From litho with Apache License 2.0 4 votes vote down vote up
private static void unsetClipToOutline(View view, boolean clipToOutline) {
  if (clipToOutline && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    view.setClipToOutline(false);
  }
}
 
Example 12
Source File: AMViewCompat.java    From ProjectX with Apache License 2.0 4 votes vote down vote up
@Override
public void setClipToOutline(View view, boolean clipToOutline) {
    view.setClipToOutline(clipToOutline);
}
 
Example 13
Source File: RoundedRectHelperApi21.java    From adt-leanback-support with Apache License 2.0 4 votes vote down vote up
public static void clearBackground(View view) {
    view.setBackground(null);
    view.setOutlineProvider(ViewOutlineProvider.BACKGROUND);
    view.setClipToOutline(false);
}