0

私のソースコードは、デバイスを回転させると回転するビデオを紹介するアプリです。1 つのポートレートと 1 つのランドスケープをクリップする必要があるためです。しかし、ユーザーが自分のアプリを選択したときに onConfigurationChange を自動実装する方法がわかりません。問題を解決できますか?

 package nahu.jl.intro;

import android.app.Activity;
import android.content.res.Configuration;
import android.graphics.PixelFormat;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.MediaController;
import android.widget.Toast;
import android.widget.VideoView;

public class Nahu_videoIntroActivity extends Activity {
    /** Called when the activity is first created. */
    VideoView videoHolder;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        getWindow().setFormat(PixelFormat.TRANSLUCENT);
        videoHolder = (VideoView) findViewById(R.id.myvideoview);
        // set controller for video
        String sdCard=Environment.getExternalStorageDirectory().getPath();
        videoHolder.setMediaController(new MediaController(this));
        Toast.makeText(Nahu_videoIntroActivity.this, sdCard, Toast.LENGTH_SHORT).show();
        // get path to video from 

//      // start video

    }
    /* (non-Javadoc)
     * @see android.app.Activity#onConfigurationChanged(android.content.res.Configuration)
     */
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        // TODO Auto-generated method stub
        super.onConfigurationChanged(newConfig);
        if(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT){
            Uri videoUri = Uri.parse("android.resource://nahu.jl.intro/raw/intro2");
            // set url to Video
            videoHolder.setVideoURI(videoUri);
             videoHolder.requestFocus();
            // start video
            videoHolder.start();

        }
        else{
            Uri videoUri = Uri.parse("android.resource://nahu.jl.intro/raw/intro1");
            // set url to Video
            videoHolder.setVideoURI(videoUri);
             videoHolder.requestFocus();
            // start video
            videoHolder.start();

        }
    }
    //
    public void onCompletion(MediaPlayer mp) {
        finish();

    }


}
4

1 に答える 1

0

これをマニフェスト ファイルのアクティビティ タグで使用します

 <activity android:name=".VideoActivity" android:label="" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:screenOrientation="sensor" android:configChanges="orientation"/>
于 2012-05-26T05:19:44.873 に答える