private boolean initSurface() {
frameContainer = (FrameLayout) findViewById(R.id.GLViewContainer);
frameContainer.setBackgroundColor(Color.rgb(0, 0, 0));
frameContainer1 = (FrameLayout) findViewById(R.id.GLViewContainer1);
frameContainer1.setBackgroundColor(Color.rgb(0, 0, 0));
mSurfaceView = new SurfaceView(this);
mSurfaceView1 = new SurfaceView(this);
mGestureDetector = new GestureDetector(this, new MyGestureListener());
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
params.gravity = Gravity.CENTER;
mSurfaceView.setLayoutParams(params);
mSurfaceView1.setLayoutParams(params);
// 为避免重复添加,事先remove子view
frameContainer.removeAllViews();
frameContainer.addView(mSurfaceView);
frameContainer1.removeAllViews();
frameContainer1.addView(mSurfaceView1);
mSurfaceView.setZOrderOnTop(false);
mSurfaceView1.setZOrderOnTop(false);
btn_qiehuan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(PlayerActivity.this, "切换流", Toast.LENGTH_SHORT).show();
if (btn_qieliu){
frameContainer.removeAllViews();
frameContainer1.removeAllViews();
frameContainer.addView(mSurfaceView);
frameContainer.bringChildToFront(mSurfaceView);
frameContainer1.addView(mSurfaceView1);
frameContainer1.bringChildToFront(mSurfaceView1);
}else{
frameContainer.removeAllViews();
frameContainer1.removeAllViews();
frameContainer1.addView(mSurfaceView);
frameContainer1.bringChildToFront(mSurfaceView);
frameContainer.addView(mSurfaceView1);
frameContainer.bringChildToFront(mSurfaceView1);
}
btn_qieliu =! btn_qieliu;
}
});
frameContainer1.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// Toast.makeText(PlayerActivity.this, “Down…”, Toast.LENGTH_SHORT).show();
lastX = (int) event.getRawX();
lastY = (int) event.getRawY();
break;
case MotionEvent.ACTION_MOVE:Toast.LENGTH_SHORT).show();
int dx = (int) event.getRawX() - lastX;
int dy = (int) event.getRawY() - lastY;
int left=v.getLeft()+ dx;
int top = v.getTop()+ dy;
int right = v.getRight() + dx;
int bottom = v.getBottom() + dy;
System.out.println("left-:" + left);
System.out.println("top-:" + top);
System.out.println("right-:" + right);
System.out.println("bottom-:" + bottom);
// 设置不能出界
if (left < 0) {left = 0;
right = left + v.getWidth();
}
if (right > screenWidth) { right = screenWidth;
left = right - v.getWidth();}
if (top < 0) {top = 0;
bottom = top + v.getHeight();}
if (bottom > screenHeight) {
bottom = screenHeight;
top = bottom - v.getHeight();}
v.layout(left, top, right, bottom);
lastX = (int) event.getRawX();
lastY = (int) event.getRawY();
break;
case MotionEvent.ACTION_UP:
break; }
return false;}
});
mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder = mSurfaceView1.getHolder();
mSurfaceHolder.addCallback(mSurfaceHolderCB);
return true;
}