我正在尝试将 aVideoView
调整为父容器宽度,然后设置高度以保持 4:3 的纵横比。我已经看到一些建议扩展VideoView
类和覆盖的答案onMeasure
,但我不明白我得到的参数或如何使用它们:
package com.example;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.VideoView;
public class MyVideoView extends VideoView {
public MyVideoView(Context context) {
super(context);
}
public MyVideoView (Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyVideoView (Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec) {
Log.i("MyVideoView", "width="+widthMeasureSpec);
Log.i("MyVideoView", "height="+heightMeasureSpec);
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
结果(在 Nexus 7 平板电脑上):
02-13 21:33:42.515: I/MyVideoView(12667): width=1073742463
02-13 21:33:42.515: I/MyVideoView(12667): height=1073742303
我正在尝试实现以下布局:
平板电脑(纵向):
- VideoView 宽度 - 全屏或几乎全屏。
- VideoView 高度 - 在给定宽度的情况下保持 4:3 纵横比
- ListView - 出现在 VideoView 下方以选择要播放的视频。
平板电脑(横向):
- ListView - 出现在屏幕左侧,用于选择要播放的视频。
- VideoView - 出现在屏幕右侧,应填充剩余宽度和设置的高度以保持 4:3 的纵横比。