public class AndrodTActivity extends Activity implements OnClickListener {
View v;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
v = findViewById(R.id.btn);
v.setOnClickListener(this);
// 從上到下的漸變色,上方藍色,下方綠色
// 将應用程式的背景色設定成漸變色
GradientDrawable gradientDrawable = new GradientDrawable(Orientation.TOP_BOTTOM, new int[] { Color.BLUE, Color.GREEN });
getWindow().setBackgroundDrawable(gradientDrawable); }
@Override
public void onClick(View v) {
// 點選截屏按鈕,進行截屏操作
View view = getLayoutInflater().inflate(R.layout.main, null);//此處main布局是LinearLayout 若Relativelayout 會報錯
//打開圖像緩存
view.setDrawingCacheEnabled(true);
//必須調用measure和layout方法才能儲存可視元件的截圖到png圖像檔案
view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
//發送位置和尺寸到view及所有的子View
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
try {
// 擷取可視元件的截圖
Bitmap drawingCache = view.getDrawingCache();
File file = new File("/emmc/che");
if (!file.exists())
file.mkdirs();
FileOutputStream out = new FileOutputStream("/emmc/che/abc.png");
drawingCache.compress(CompressFormat.PNG, 100, out);
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
版權聲明:本文為CSDN部落客「weixin_34008784」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_34008784/article/details/92006034