編輯:關於Android編程
----------截屏方法
[java]
private Bitmap shot() {
View views = getWindow().getDecorView();
views.buildDrawingCache();
// 獲取狀態欄高度
Rect frames = new Rect();
views.getWindowVisibleDisplayFrame(frames);
int statusBarHeights = frames.top;
Display display = getWindowManager().getDefaultDisplay();
int widths = display.getWidth();
int heights = display.getHeight();
//第一種方式
views.layout(0, statusBarHeights,widths, heights - statusBarHeights);
views.setDrawingCacheEnabled(true);//允許當前窗口保存緩存信息 ,兩種方式都需要加上
Bitmap bmp = Bitmap.createBitmap(views.getDrawingCache());
//第二種方式
// 1、source 位圖 2、X x坐標的第一個像素 3、Y y坐標的第一個像素 4、寬度的像素在每一行 5、高度的行數
//Bitmap bmp = Bitmap.createBitmap(views.getDrawingCache(), 0, statusBarHeights,widths, heights - statusBarHeights);
return bmp;
}
------------保存到SD卡方法
[java]
try {
String status = Environment.getExternalStorageState();
// 判斷SD卡是否存在
if (status.equals(Environment.MEDIA_MOUNTED)) {
File destDir = new File("文件夾名");
if (!destDir.exists()) {
// 創建文件夾
destDir.mkdirs();
}
File file = new File("圖片名");
// 判斷文件夾是否存在
if (file.exists()) {
String pic_path ="文件夾名" +"圖片名"+".png";
FileOutputStream out = new FileOutputStream(pic_path);
shot().compress(Bitmap.CompressFormat.PNG,100, out);
out.flush();
out.close();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
--------把Bitmap轉為Drawable 放進imageView中
[java]
//Bitmap-->Drawable
BitmapDrawable bd=new BitmapDrawable(shot());
imageView.setBackgroundDrawable(bd);
imageView.setImageBitmap(shot());
跨進程調用Service(AIDL Service) Android系統中的進程之間不能共享內存,因此,需要提供一些機制在不同進程之間進行數據通信。
用戶界面的概觀 所有的Android應用程序的用戶界面元素都是用View和ViewGroup對象構建的。View就是在手機屏幕上描繪一個可以與用戶交互
Glide 是一個android平台上的快速和高效的開源的多媒體資源管理庫, 提供 多媒體文件的壓縮,內存和磁盤緩存, 資源池的接口。Glide 支持獲取,解壓展示視頻,
一、Eclipes 簡介:Eclipse 是一個開放源代碼的、基於Java的可擴展開發平台。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境。&nbs