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

파일 저장에 관한 질문입니다.

0 추천
button2.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View v) {
    View view = layout1.getRootView();
    view.setDrawingCacheEnabled(true);
    
    Bitmap bm = view.getDrawingCache();
    saveScreenImage(bm);
   
   }
  });
  
 }
 
 public void saveScreenImage(Bitmap bm) {
  FileOutputStream stream;
  String path = "/sdcard/sss.png";
  try {
   stream = new FileOutputStream(path);
   bm.compress(Bitmap.CompressFormat.PNG, 90, stream);
   Toast.makeText(getApplicationContext(), "저장했습니다.", Toast.LENGTH_LONG).show();
  }
  catch (FileNotFoundException e) {
   Toast.makeText(getApplicationContext(), "저장 못 했습니다.", Toast.LENGTH_LONG).show();
   e.printStackTrace();
  }
 }

 

이렇게 작성을 했는데

저장은 아주 잘 됩니다.

그런데 중요한 것은 저기 layout1에 텍스트뷰가 들어있어서

edittext와 연동되어 있는 텍스트뷰이기 때문에

edittext에 글을 쓰면 textview에 그 글을 쓴 것이 바뀌는데

스샷을 저장하면 똑같습니다.

제가 보기에는 stream에 뭐를 저장해놓는다길래

거기에 있는 스샷 정보가 지워지지 않아 발생하는 것 같은건데

맞나요?

맞다면 어찌해야하며

지금 레이아웃 속에 레이아웃 또 하나가 들어있는

이중 레이아웃인데

바깥에 레이아웃 안에 안쪽레이아웃(layout1)만 스샷을 찍으려고 합니다.

그런데 전체화면이 다 찍히는데

이거는 어떻게 수정하죠??
또라에몬 (900 포인트) 님이 2013년 8월 20일 질문

1개의 답변

0 추천
 
채택된 답변

    View view = (View) layout1;
    view.setDrawingCacheEnabled(true);
    
    Bitmap bm = view.getDrawingCache();
    saveScreenImage(bm);

 

아픔제로 (3,460 포인트) 님이 2013년 8월 21일 답변
또라에몬님이 2013년 8월 21일 채택됨
...