Open gbstark opened 10 years ago
Did you find a solution for this?
I'd also be interested in a solution
of course you can. add this when you want use the Scale
SlidingMenu.CanvasTransformer aboveTransformer = new SlidingMenu.CanvasTransformer() {
@Override
public void transformCanvas(Canvas canvas, float percentOpen) {
float scale = (float) (percentOpen * 0.25 + 0.75);
canvas.scale(scale, scale, 0, canvas.getHeight() / 2);
}
};
mSlideMenu.setAboveCanvasTransformer(aboveTransformer);
add this in SlidingMenu
/**
* Sets the above canvas transformer.
*
* @param t the new above canvas transformer
*/
public void setAboveCanvasTransformer(CanvasTransformer t) {
mViewAbove.setCanvasTransformer(t);
}
add this in CustomViewAbove
public SlidingMenu.CanvasTransformer getTransformer() {
return mTransformer;
}
public void setCanvasTransformer(SlidingMenu.CanvasTransformer mTransformer) {
this.mTransformer = mTransformer;
}
private SlidingMenu.CanvasTransformer mTransformer;
@Override
protected void dispatchDraw(Canvas canvas) {
if (mTransformer != null) {
canvas.save();
mTransformer.transformCanvas(canvas, 1-getPercentOpen());
super.dispatchDraw(canvas);
canvas.restore();
} else
super.dispatchDraw(canvas);
// Draw the margin drawable if needed.
mViewBehind.drawShadow(mContent, canvas);
mViewBehind.drawFade(mContent, canvas, getPercentOpen());
mViewBehind.drawSelector(mContent, canvas, getPercentOpen());
}
i want to scale my contentview when left/right menu opened.
but i can't add scaling function because slidemenu use scroller.
when i google it, i know scroller doesn't support scale option.
how can i scale contentview?