フラグメントで SurfaceView を使用してビデオを表示しています。ビデオの再生中に画面の向きを変更すると、サイズが変更されません。たとえば、ビデオが横サイズ (全画面表示) で再生されている場合、画面を回転しても縦サイズにはなりません。横長の場合はそのままです。ビデオを横向きで開始すると、縦向きに変わりません。マニフェストで次を使用しています。
<activity
android:name=".BassActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
>
「onCreate」にこれがあります
@Override
public void onCreate(Bundle savedInstanceState) {
if (VERBOSE) Log.v(TAG, "+++ onCreate +++");
super.onCreate(savedInstanceState);
getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
setRetainInstance(true);
たとえば、再生中に画面を回転させたときに、縦向きから横向きにビデオのサイズを変更したいと思います。
いつトリガーされるかを確認するためにトーストメッセージも追加しましたonSurfaceChanged
が、画面を回転させてもトリガーされません。再生開始後にビデオのサイズを変更するにはどうすればよいですか?