VideoView を使用した RelativeLayout があり、ジェスチャーで videoView を移動およびズームする必要があります。
mAnimationLayout = new RelativeLayout(mContext);
mAnimationLayout.setOnTouchListener(new AnimationListener());
RelativeLayout.LayoutParams lpFill = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT
);
mVideoView = new VideoView(mContext);
mVideoView.setVideoURI(mProduct.mAnimationVideos.get(0));
mVideoView.start();
mAnimationLayout.addView(mVideoView, lpFill);
そして、私はこれを作ろうとしています:
private void moveVideo(float x, float y){
int left = mVideoView.getLeft() + (int)x;
int top = mVideoView.getTop() + (int)y;
//mVideoView.layout(left, top, right, bottom);
RelativeLayout.LayoutParams lp = (LayoutParams) mVideoView.getLayoutParams();
lp.setMargins(left, top, 0,0);
mVideoView.setLayoutParams(lp);
//mVideoView.invalidate();
}
private void scaleVideo(float scale){
RelativeLayout.LayoutParams lp = (LayoutParams) mVideoView.getLayoutParams();
lp.width =(int) (mVideoView.getWidth() * scale);
lp.height = (int) (mVideoView.getHeight() * scale);
mVideoView.setLayoutParams(lp);
//mVideoView.invalidate();
}
ビデオを移動したりスケーリングしたりすることもありますが、ビデオの背景だけで、ビデオ自体をその場所に残すこともあります。そして、それは非常に遅く動作します。