버튼클릭 -> 화면캡쳐 -> 캡쳐한 이미지를 갤러리에 추가
MainActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | //캡쳐버튼클릭 public void mOnCaptureClick(View v){ //전체화면 View rootView = getWindow().getDecorView(); File screenShot = ScreenShot(rootView); if(screenShot!=null){ //갤러리에 추가 sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(screenShot))); } } //화면 캡쳐하기 public File ScreenShot(View view){ view.setDrawingCacheEnabled(true); //화면에 뿌릴때 캐시를 사용하게 한다 Bitmap screenBitmap = view.getDrawingCache(); //캐시를 비트맵으로 변환 String filename = "screenshot.png"; File file = new File(Environment.getExternalStorageDirectory()+"/Pictures", filename); //Pictures폴더 screenshot.png 파일 FileOutputStream os = null; try{ os = new FileOutputStream(file); screenBitmap.compress(Bitmap.CompressFormat.PNG, 90, os); //비트맵을 PNG파일로 변환 os.close(); }catch (IOException e){ e.printStackTrace(); return null; } view.setDrawingCacheEnabled(false); return file; } | cs |
activity_main.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rootLayout" android:gravity="center" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:textSize="24dp" android:gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="화면을 캡쳐합니다." /> <Button android:text="캡쳐하기" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="mOnCaptureClick"/> <ImageView android:src="@drawable/ic_launcher" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> | cs |
AndroidManifest.xml
1 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | cs |
저장소에 파일 쓰기 권한
결과
캡쳐하기 버튼을 누르면 화면을 캡쳐하여 갤러리에 추가한다.
'IT > - 프로그래밍' 카테고리의 다른 글
안드로이드 Properties 파일 읽기, 쓰기 : Properties File Read/Write In Android (0) | 2016.07.30 |
---|---|
안드로이드 접근성 화면으로 이동하기 : Accessibility Settings (0) | 2016.07.30 |
안드로이드 연락처 추가하기 : Contact Add in Android (0) | 2016.07.25 |
안드로이드 라디오버튼 커스텀하기 : Android RadioButton Customize (0) | 2016.07.25 |
안드로이드 체크박스 커스텀하기 : Android Checkbox Customize (0) | 2016.07.24 |