【发布时间】:2016-08-20 01:02:45
【问题描述】:
我有一个 VideoView,我想在我的应用程序中动态更改其大小。通过扩展 VideoView 类,我已经成功地让 video 和 videoView 都能正确更改大小。但是,我希望能够更逐渐地在两种尺寸之间过渡。我怎样才能做到这一点?我尝试了缩放动画,但是虽然这会改变 VideoView 布局的大小,但视频本身不会缩放。想法?
这是我的视频课:
public class MyVideoView extends VideoView {
private int mForceHeight,mForceWidth;
private int mOrigWidth, mOrigHeight, mMinWidth, mMinHeight;
public MyVideoView(Context context) {
super(context);
}
/* Will cause inflator errors if not present */
public MyVideoView(Context context, AttributeSet attrs){
super(context, attrs);
}
public void setDimensions(int w, int h) {
this.mForceHeight = h;
this.mForceWidth = w;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
if (mForceHeight != 0)
setMeasuredDimension(mForceWidth, mForceHeight);
else
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
public void setOrigDimens(int width, int height) {
mOrigWidth = width;
mOrigHeight = height;
mMinWidth = width/4; // My own decision for the small size
mMinHeight = height/4;
}
public void setSmallView() {
setNewViewSize(mMinWidth, mMinHeight);
}
public void setNormalView() {
setNewViewSize(mOrigWidth, mOrigHeight);
}
/* RESIZES THE VIEW */
public void setNewViewSize(int width, int height) {
mForceWidth = width;
mForceHeight = height;
setDimensions(width, height);
getHolder().setFixedSize(width, height);
}
}
这是我尝试的缩放代码:
Animation scaling = new ScaleAnimation(1.0f, 0.2f, 1.0f, 0.2f);
scaling.setDuration(2000);
startAnimation(scaling);
非常感谢任何帮助!
【问题讨论】:
标签: android animation transition android-videoview