我正在制作像MX播放器这样的视频播放器Android应用程序。我想要做的就像在MX播放器中一样。例如:如果用户点击宽高比按钮,则应将视频大小设置为 100%。如果用户再次单击按钮,则应设置(宽高比或比例类型为裁剪。在下次单击时,应将其设置为拉伸。再次将其设置为< strong>适合屏幕等。
除了这个按钮,我已经开发了播放器的其他逻辑。我也将处理宽高比按钮上的点击逻辑。
告诉我当用户选择按钮时,我需要写什么代码更改视频大小而不是表面视图大小。
注意:我根本不使用视频观看。我通过表面支架指定媒体播放器的表面视图。并且默认我的视频以全屏模式播放
答案 0 :(得分:1)
经过一番研究后,我终于完成了。如果有人正在寻找答案,那么它就在这里。它是不 正确的尺寸,但它是一个例子。根据宽度和高度,设置文字 不是,但只是为了解释你功能
您可以获得 屏幕宽度和高度以及 +/- 您希望宽度和高度>增加或减少。
在您的活动之上,在导入之后,您将其写入初始化:
android.view.ViewGroup.LayoutParams lp;
这段代码将获得设备的宽度和高度。
public void getDeviceWidthAndHeight(){
lp = surfaceView.getLayoutParams();
screenWidth = getWindowManager().getDefaultDisplay().getWidth();
screenHeight = getWindowManager().getDefaultDisplay().getHeight();
}
这段代码将设置你给它的高度和宽度。
@Override
public void onClick(View v) {
int id=v.getId();
if (id==R.id.resize_video){
if (clickCount==0){
getDeviceWidthAndHeight();
lp.width = screenWidth-50;
lp.height = screenHeight-50;
surfaceView.setLayoutParams(lp);
resizeVideo.setText("100%");
clickCount=1;
}
else if (clickCount==1){
getDeviceWidthAndHeight();
lp.width = screenWidth-300;
lp.height = screenHeight-100;
surfaceView.setLayoutParams(lp);
resizeVideo.setText("Full Screen");
clickCount=2;
}
else if(clickCount==2){
getDeviceWidthAndHeight();
lp.width =screenWidth;
lp.height = screenHeight;
surfaceView.setLayoutParams(lp);
resizeVideo.setText("100%");
clickCount=3;
}
else if(clickCount==3){
getDeviceWidthAndHeight();
lp.width =screenWidth;
lp.height = screenHeight-500;
surfaceView.setLayoutParams(lp);
resizeVideo.setText("Fit to Screen");
clickCount=0;
}
}
}