Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在SurfaceView的onMeasure()中,如何计算当前视图的大小_Android_Android Mediaplayer - Fatal编程技术网

Android 在SurfaceView的onMeasure()中,如何计算当前视图的大小

Android 在SurfaceView的onMeasure()中,如何计算当前视图的大小,android,android-mediaplayer,Android,Android Mediaplayer,在我的android视频播放器中,如何设置视频的大小,使其适合视图 我已经创建了一个自定义视图。在overriden onMeasure中,我正在考虑计算显示视频的CustomView的大小 然后在setMeasuredDimensionwidth,height;中传递这些尺寸 我没有遇到过任何其他手动设置视频尺寸的方法 谢谢完美的例子,或者看看这个 @Override protected void onMeasure(int widthMeasureSpec, int heightMeasur

在我的android视频播放器中,如何设置视频的大小,使其适合视图

我已经创建了一个自定义视图。在overriden onMeasure中,我正在考虑计算显示视频的CustomView的大小

然后在setMeasuredDimensionwidth,height;中传递这些尺寸

我没有遇到过任何其他手动设置视频尺寸的方法

谢谢

完美的例子,或者看看这个

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

int desiredWidth = 100;
int desiredHeight = 100;

int widthMode = MeasureSpec.getMode(widthMeasureSpec);
int widthSize = MeasureSpec.getSize(widthMeasureSpec);
int heightMode = MeasureSpec.getMode(heightMeasureSpec);
int heightSize = MeasureSpec.getSize(heightMeasureSpec);

int width;
int height;

//Measure Width
if (widthMode == MeasureSpec.EXACTLY) {
    //Must be this size
    width = widthSize;
} else if (widthMode == MeasureSpec.AT_MOST) {
    //Can't be bigger than...
    width = Math.min(desiredWidth, widthSize);
} else {
    //Be whatever you want
    width = desiredWidth;
}

//Measure Height
if (heightMode == MeasureSpec.EXACTLY) {
    //Must be this size
    height = heightSize;
} else if (heightMode == MeasureSpec.AT_MOST) {
    //Can't be bigger than...
    height = Math.min(desiredHeight, heightSize);
} else {
    //Be whatever you want
    height = desiredHeight;
}

//MUST CALL THIS
setMeasuredDimension(width, height);
}
希望它能有所帮助