1. 程式人生 > >Android設定SurfaceView任意大小和任意位置

Android設定SurfaceView任意大小和任意位置

               

1. 程式碼

    public void init() {                // FrameLayout        ViewGroup.LayoutParams framelayout_params =            new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,                                       ViewGroup.LayoutParams.MATCH_PARENT);        mFrameLayout = new FrameLayout(this
);        mFrameLayout.setLayoutParams(framelayout_params);        // Cocos2dxEditText layout        ViewGroup.LayoutParams edittext_layout_params =            new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,                                       ViewGroup.LayoutParams.WRAP_CONTENT);        Cocos2dxEditText edittext = new
Cocos2dxEditText(this);        edittext.setLayoutParams(edittext_layout_params);        // ...add to FrameLayout        mFrameLayout.addView(edittext);        ////////////////////////////////////////// // Added by Myarrow on 2014-10-28 start // Create SurfaceView for MediaPlayer        mMediaPlayView = new SurfaceView(this);          //mMediaPlayView.setBackgroundResource(cn.xx.yy.R.drawable.videostart);
        mFrameLayout.addView(mMediaPlayView);            // Create SurfaceView for camera preview        mCameraView = new SurfaceView(this);        mCameraView.setZOrderOnTop(true);        FrameLayout.LayoutParams cameraFL = new FrameLayout.LayoutParams(320, 240,Gravity.TOP); // set size        cameraFL.setMargins(900, 50, 0, 0);  // set position        mCameraView.setLayoutParams(cameraFL);        mFrameLayout.addView(mCameraView);        // Added by MyArrow end        // Cocos2dxGLSurfaceView        this.mGLSurfaceView = this.onCreateView();        //this.mGLSurfaceView.setBackgroundColor(Color.BLUE);        // ...add to FrameLayout        mFrameLayout.addView(this.mGLSurfaceView);        // Switch to supported OpenGL (ARGB888) mode on emulator        if (isAndroidEmulator())           this.mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);        // Added by MyArrow on 2014-10-28          this.mGLSurfaceView.setEGLConfigChooser(8 , 8, 8, 8, 16, 0);          this.mGLSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);          this.mGLSurfaceView.setZOrderOnTop(true);   // Added by MyArrow end        this.mGLSurfaceView.setCocos2dxRenderer(new Cocos2dxRenderer());        this.mGLSurfaceView.setCocos2dxEditText(edittext);        // Set framelayout as the content view        setContentView(mFrameLayout);    }

2. 效果圖