VideoView のサイズを変更する必要がありますが、画面より大きくする必要があります。次のように、VideoView の onMeasure をオーバーライドすることで可能であることがわかりました。
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(twotimesscreenwidth, twotimesscreenheight);
}
ほとんどの場合、これは完全に機能します。さまざまなデバイス (Nexus One、HTC Wildfire、HTC Sensation、Samsung Galaxy S2、Galaxy Gio、Galaxy Tab 10.1、Motorola Xoom) で問題なくテストしました。しかし、HTC Desire HD または Nexus S でテストすると、サイズが変更されないことに気付きました。Desire HD では画面の幅に合わせてサイズが変更され、画面の高さより少し大きくなりますが、Nexus S ではフルスクリーンになります。
なぜこれが起こっているのか、そしてもっと重要なことに、どうすればこれを解決できるのか誰か知っていますか? 私はすでにこれについていくつかの質問を見つけましたが、すべて解決策がありません:(