Android學習筆記之,調用系統圖庫,添加自訂字型,螢幕截圖

來源:互聯網
上載者:User

標籤:

新年開始的第一天就來學習了慕課迎春活動中的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學習筆記之,調用系統圖庫,添加自訂字型,螢幕

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.