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

The following examples show how to use android.view.View#setClipToOutline() . These examples are extracted from open source projects. 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
@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
@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 Project: FlipLayout   File: FlipLayout.java    License: 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 Project: ToggleButtons   File: ToggleGroupApi21.java    License: 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
@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 Project: ToggleButtons   File: ToggleGroupApi21.java    License: 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 Project: friendlyping   File: PingerAdapter.java    License: 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
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 Project: DanDanPlayForAndroid   File: LayoutHelper.java    License: 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 Project: litho   File: MountState.java    License: 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 Project: litho   File: MountState.java    License: 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 Project: ProjectX   File: AMViewCompat.java    License: Apache License 2.0 4 votes vote down vote up
@Override
public void setClipToOutline(View view, boolean clipToOutline) {
    view.setClipToOutline(clipToOutline);
}
 
Example 13
public static void clearBackground(View view) {
    view.setBackground(null);
    view.setOutlineProvider(ViewOutlineProvider.BACKGROUND);
    view.setClipToOutline(false);
}