마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

프래그먼트 스크린샷 찍기 도와주세요

0 추천

일반 액티비티에서는 스크린샷이 잘 되는데...프래그먼트에서는 잘 안되서 말이죠..

제가 보기엔 view 가 문제인것 같은데요..

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        Log.v("TAP-2-VIEW", "create success!!");
        view = inflater.inflate(R.layout.fragment_tap2, null);

        getActivity();
        //Toast.makeText(getActivity()," tap 1 toast", Toast.LENGTH_SHORT).show();

        return view;
    }

 

 

아래 소스에서 view 가 문제인 것 같은데.....

아래 소스는 인터넷 액티비티 소스입니다. 어떻게 고칠수 있을까요??

 

현재 아래 소스대로 돌리면 뭔가 파일은 생기는데 이미지가 깨져서 아무것도 안 보입니다.

public void screenshot(View view) throws Exception{

        view.setDrawingCacheEnabled(true);
        Bitmap scrreenshot = view.getDrawingCache();
        try{
            String path = Environment.getExternalStorageDirectory().getAbsolutePath();
            File dir = new File(path, "AEONAZ");
            if(!dir.isDirectory()) {
                dir.mkdirs();
            }
            String filename = "fdd"+".jpg";

            File file = new File(dir, filename);
            file.createNewFile();
            OutputStream outStream = new FileOutputStream(file);
            scrreenshot.compress(Bitmap.CompressFormat.JPEG, 100, outStream);
            outStream.close();

            if(getActivity() != null) {
                getActivity().sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
                        Uri.parse("file://"+Environment.getExternalStorageDirectory())));
            }
        }catch(IOException e){
            e.printStackTrace();
        }
        view.setDrawingCacheEnabled(false);
    }

 

 

 

 

 

 

 

 

 

 

 

 

 

앤드류이드 (6,190 포인트) 님이 2016년 8월 4일 질문

1개의 답변

0 추천
 
채택된 답변
액티비티에서 잘됐으면 뷰쪽문제일꺼같은데

레이아웃 m레이아웃 = (레이아웃) inflater.inflate(R.Layout.레이아웃xml이름, container, false);

return m레이아웃;

이런식으로 하면 어떨까요?
원펀치맨 (2,860 포인트) 님이 2016년 8월 6일 답변
앤드류이드님이 2016년 9월 20일 채택됨
...