需要实现的的效果
描述:一开始是完全显示的,然后高度慢慢减少,图片自上而下消失。
分析:这个效果看似很简单,但是实际上根据常规的android机制,是很难以实现的。
常规方案
- Imageview变化大小,只会整体压缩,不可行
- 外布局一个RelativeLayout,Imageview靠底部对齐,然后自上而下减少外布局高度,也会压缩图像,还是不可行
- 用一个空白的布局慢慢遮挡图片,实现了现在的效果,但是时间占用了额外的空间。图像消失的部分是有内容需要显示的。不符合要求。
解决方案
想了很久,突然联想到MeasureSpec的三种情况(自适应,合父布局一样和绝对大小)。感觉图像设置为绝对大小并且靠底部对齐。然后自上而下减少外布局高度,应该可以实现效果。
首先
自定义绝对大小的Imageview
package com.example.gbq.test.view;
import android.annotation.Suppress