我有一张图片:
我将此图像作为源添加到自定义ImageView:
public class TopCropImageView extends ImageView {
public TopCropImageView(Context context) {
super(context);
setScaleType(ScaleType.MATRIX);
}
public TopCropImageView(Context context, AttributeSet attrs) {
super(context, attrs);
setScaleType(ScaleType.MATRIX);
}
public TopCropImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setScaleType(ScaleType.MATRIX);
}
@Override
protected boolean setFrame(int l, int t, int r, int b) {
Matrix matrix = getImageMatrix();
float scaleFactor = getWidth()
/ (float) getDrawable().getIntrinsicWidth();
matrix.setScale(scaleFactor, scaleFactor, 0, 0);
setImageMatrix(matrix);
return super.setFrame(l, t, r, b);
}
}
然后我在xml中给这个TopCropImageView只有100dp的高度,而imageview看起来像:
这就是我想要的。
问题在于,当我点击图像时,我想让它展开,从而成为第一个图像。就像横幅展开一样。
我使用LayoutParams完成了这项工作,但我想为它设置动画。
我尝试过缩放动画,但这样做,图像的较小部分只会扩展。
我希望imageview的行为像窗帘一样,从而使背景图像可见。 请帮助。
由于
答案 0 :(得分:0)
您需要在自定义图片视图中使用ValueAnimator。 看看这里 http://developer.android.com/guide/topics/graphics/prop-animation.html#value-animator