我正在使用Exoplayer库来创建视频播放器应用程序。我正在尝试制作像 youtube 这样的功能:将视频播放器拖到底部,我将被缩放到更小的尺寸。为此,我使用了 ViewDragHelper。当播放器拖动时,我将其缩放如下:
public void onViewPositionChanged(View changedView, int left, int top, int dx, int dy) {
mTop = top;
mDragOffset = (float) top / mDragRange;
mVideoView.setPivotX(mHeaderView.getWidth());
mVideoView.setPivotY(mHeaderView.getHeight());
mVideoView.setScaleX(1 - mDragOffset / 2);
mVideoView.setScaleY(1 - mDragOffset / 2);
mDescView.setAlpha(1 - mDragOffset);
requestLayout();
}
mVideoView
是一个SurfaceView
, 并且播放器会SurfaceView
渲染它的内容。比例正确,SurfaceView
但内容不正确。
问题:如何缩放 SurfaceView 及其内容?