日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 截屏指定区域,Android截图 截取ContentView 截取指定的View并且保存

發布時間:2025/3/20 Android 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 截屏指定区域,Android截图 截取ContentView 截取指定的View并且保存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

釋放雙眼,帶上耳機,聽聽看~!

截取DecorView

getWindow().getDecorView().setDrawingCacheEnabled(true);

try {

File myCaptureFile = new File("/mnt/sdcard/"

+ System.currentTimeMillis() + ".jpg");

BufferedOutputStream bos = new BufferedOutputStream(

new FileOutputStream(myCaptureFile));

getWindow().getDecorView().getDrawingCache()

.compress(Bitmap.CompressFormat.JPEG, 80, bos);

bos.flush();

bos.close();

} catch (Exception e) {

e.printStackTrace();

}

getWindow().getDecorView().setDrawingCacheEnabled(false);

截取指定的View

view.setDrawingCacheEnabled(true);

try {

File myCaptureFile = new File("/mnt/sdcard/"

+ System.currentTimeMillis() + ".jpg");

BufferedOutputStream bos = new BufferedOutputStream(

new FileOutputStream(myCaptureFile));

view.getDrawingCache()

.compress(Bitmap.CompressFormat.JPEG, 80, bos);

bos.flush();

bos.close();

} catch (Exception e) {

e.printStackTrace();

}

view().setDrawingCacheEnabled(false);

截取不包括狀態欄的部分

/**

* 頁面返回動畫

*/

private void gobackAnimation(){

getWindow().getDecorView().setDrawingCacheEnabled(true);

Bitmap bm = getWindow().getDecorView().getDrawingCache();

Rect rect = new Rect();

getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);

final Bitmap bitmap = Bitmap.createBitmap(bm, 0, rect.top, Device.getScreenWidth(), Device.getScreenHeight() - rect.top);;

bm.recycle();

final ImageView imageView = new ImageView(ActivityOnlineAndUser.this);

imageView.setScaleType(ScaleType.FIT_XY);

imageView.setImageBitmap(bitmap);

getWindow().addContentView(imageView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT));

Animation anim = AnimationUtils.loadAnimation(ActivityOnlineAndUser.this, R.anim.push_right_out);

anim.setAnimationListener(new AnimationListener() {

@Override

public void onAnimationStart(Animation animation) {

}

@Override

public void onAnimationRepeat(Animation animation) {

}

@Override

public void onAnimationEnd(Animation animation) {

// 回收資源

imageView.setImageBitmap(null);

bitmap.recycle();

((ViewGroup)imageView.getParent()).removeView(imageView);

// 設置成False,否則會很浪費性能

getWindow().getDecorView().setDrawingCacheEnabled(false);

}

});

imageView.startAnimation(anim);

}

總結

以上是生活随笔為你收集整理的android 截屏指定区域,Android截图 截取ContentView 截取指定的View并且保存的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。