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里?

posted @ 2012-08-21 18:07  周柯文  阅读(468)  评论(2编辑  收藏  举报