Anu*_*ool 5 android pivot android-animation scaleanimation
我想要一个相对布局放大,视图的底部应该是固定的.
我有一个相对布局 -
private RelativeLayout rlOutdoorSection;
Run Code Online (Sandbox Code Playgroud)
初始化它 -
rlOutdoorSection = (RelativeLayout) findViewById(R.id.rlOutdoorSection);
Run Code Online (Sandbox Code Playgroud)
创建了一个ObjectAnimator -
scaleUpOutdoor = ObjectAnimator.ofFloat(rlOutdoorSection, "scaleY", 1f,
2.6f);
scaleUpOutdoor.setDuration(3000);
Run Code Online (Sandbox Code Playgroud)
开始动画 -
scaleDownOutdoor.start();
Run Code Online (Sandbox Code Playgroud)
目前,视图将在视图中心使用透视值进行缩放.
如何确保视图缩放,视图底部固定?
提前致谢.
Anu*_*ool 10
首先,我们必须计算HEIGHT视图 -
iOutdoorCompressedHeight = rlOutdoorSection.getMeasuredHeight();
Run Code Online (Sandbox Code Playgroud)
使用此height作为视角必须缩放的枢轴.
rlOutdoorSection.setPivotX(0f);
rlOutdoorSection.setPivotY(iOutdoorCompressedHeight);
Run Code Online (Sandbox Code Playgroud)
这里的技巧可以是获得测量的视图高度.
在Activity计算高度
@Override
public void onWindowFocusChanged(boolean hasFocus)
{
super.onWindowFocusChanged(hasFocus);
// Here calculate the height / width
}
Run Code Online (Sandbox Code Playgroud)
在FRAGMENT使用全局布局监听器中 -
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);
}
});
Run Code Online (Sandbox Code Playgroud)
希望这对一些人有所帮助.
| 归档时间: |
|
| 查看次数: |
11999 次 |
| 最近记录: |