Android设置SurfaceView任意大小和任意位置

来源:互联网 发布:知乎论坛网站彭加木 编辑:程序博客网 时间:2024/04/27 13:08

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. 效果图




1 2
原创粉丝点击