camera放进popupwindow的问题
1 View cameraView = LayoutInflater.from(getActivity()).inflate( 2 R.layout.camera_preview, null); 3 final CameraPreview camera = new CameraPreview(getActivity()); 4 ((FrameLayout) cameraView.findViewById(R.id.camera_previe)).addView( 5 camera, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 6 7 cameraView.findViewById(R.id.take_pic).setOnClickListener( 8 new OnClickListener() { 9 @Override 10 public void onClick(View v) { 11 camera.takePicture(); 12 } 13 }); 14 15 PopupWindow popC = new PopupWindow(cameraView, 200, 16 LayoutParams.WRAP_CONTENT); 17 popC.setOutsideTouchable(true); 18 popC.setBackgroundDrawable(new BitmapDrawable()); 19 popC.showAtLocation(getView(), Gravity.CENTER, 0, 0);
运行时出现“添加SurfaceView为空”的错误,莫名其妙,把PopupWindow换成Dialog就可以,代码:
1 View cameraView = LayoutInflater.from(getActivity()).inflate( 2 R.layout.camera_preview, null); 3 final CameraPreview camera = new CameraPreview(getActivity()); 4 ((FrameLayout) cameraView.findViewById(R.id.camera_previe)).addView( 5 camera, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 6 7 cameraView.findViewById(R.id.take_pic).setOnClickListener( 8 new OnClickListener() { 9 @Override 10 public void onClick(View v) { 11 camera.takePicture(); 12 } 13 }); 14 Dialog menuDialog = new Dialog(getActivity(), R.style.menu_dialog_style); 15 menuDialog.setContentView(cameraView); 16 menuDialog.setCanceledOnTouchOutside(true); 17 menuDialog.show();
真心不知道怎么回事,难道Camera真不能放进PopupWindow里?