I want a relative layout to scale up and the bottom of the view should be fixed.
I have a relative layout -
private RelativeLayout rlOutdoorSection;
Initialized it -
rlOutdoorSection = (RelativeLayout) findViewById(R.id.rlOutdoorSection);
Created an ObjectAnimator -
scaleUpOutdoor = ObjectAnimator.ofFloat(rlOutdoorSection, "scaleY", 1f,
2.6f);
scaleUpOutdoor.setDuration(3000);
start the Animation -
scaleDownOutdoor.start();
At present the view is getting scaled with pivot values at the center of the view.
How can i ensure the view is scaled with the bottom of the view fixed?
Thanks in Advance.
First we have to calculate the HEIGHT
of the view -
iOutdoorCompressedHeight = rlOutdoorSection.getMeasuredHeight();
Use this height
as the pivot around which the view has to be scaled.
rlOutdoorSection.setPivotX(0f);
rlOutdoorSection.setPivotY(iOutdoorCompressedHeight);
The trick here can be getting the measured height of the view.
In an Activity
calculate the height in
@Override
public void onWindowFocusChanged(boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
// Here calculate the height / width
}
In a FRAGMENT
use global layout listener-
rlOutdoorSection = (RelativeLayout) vMain
.findViewById(R.id.rlOutdoorSection);
ViewTreeObserver vtoOutdoor = rlIndoorSection.getViewTreeObserver();
vtoOutdoor.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
iOutdoorCompressedHeight = rlOutdoorSection.getMeasuredHeight();
rlOutdoorSection.setPivotX(0f);
rlOutdoorSection.setPivotY(iOutdoorCompressedHeight);
}
});
Hope this will help some one.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With