標籤:
新年開始的第一天就來學習了慕課迎春活動中的Android心愿分享一課,學到了幾個知識點,在此記錄一下。
1、調用系統圖庫
調用系統圖庫用的是intent,步驟為彈出系統圖庫選取器,選擇圖片後擷取到所選擇的圖片。代碼如下:
//在需要的地方調用Intent intent = new Intent(Intent.ACTION_PICK, null);intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");startActivityForResult(intent, 100);//100為requestCode//在onActivityResult中擷取結果@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK && requestCode == 100) { if (data != null) { mPhoto.setImageURI(data.getData());//mPhoto是一個ImageView } }}
這裡在onActivityResult中拿到的是圖片的Uri。
2、添加自訂字型
添加自訂自體分兩步:
a:是添加字型檔到項目asserts檔案夾中(不能添加到res中,因為res中的資源在打包時會壓縮,字型檔不能壓縮),
b:通過代碼設定字型
//mWord是一個EditText,當然也可以用TextView,字型檔存在項目的asserts/fonts檔案夾中mWord.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/test.ttf"));
3、螢幕
代碼:
/** * 調用系統功能擷取螢幕 * @return */private Bitmap getScreenShot() { View view = getWindow().getDecorView(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); return view.getDrawingCache();}
偶爾會碰到 View的getDrawingCache為空白 這時可以用下面的辦法解決:
public static Bitmap loadBitmapFromView(View v, boolean isParemt) { if (v == null) { return null; } Bitmap screenshot; screenshot = Bitmap.createBitmap(v.getWidth(), v.getHeight(), HDConstantSet.BITMAP_QUALITY); Canvas c = new Canvas(screenshot); c.translate(-v.getScrollX(), -v.getScrollY()); v.draw(c); return screenshot; }
參考文章:http://blog.csdn.net/huangbiao86/article/details/9053429
Android學習筆記之,調用系統圖庫,添加自訂字型,螢幕