Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 開發之ScrollView 截屏代碼

android 開發之ScrollView 截屏代碼

編輯:關於Android編程

在開發過程中,經常要用到分享功能,有時需要截取當前屏幕的畫面,一起分享出去。如果當前Activity高度固定,不能滑動,截取屏幕代碼網上到處都是,這裡就不貼出了;如果當前Activity嵌套有可滑動子控件,如ScrollView或ListView,想要連未顯示的部分一起截下來,前一種方法就行不通了,這裡貼出一段有效代碼:

 /**
     * 截取scrollview的屏幕
     * **/
    public static Bitmap getBitmapByView(ScrollView scrollView) {
        int h = 0;
        Bitmap bitmap = null;
        // 獲取listView實際高度
        for (int i = 0; i < scrollView.getChildCount(); i++) {
            h += scrollView.getChildAt(i).getHeight();
            scrollView.getChildAt(i).setBackgroundResource(R.drawable.bg3);
        }
        Log.d(TAG, "實際高度:" + h);
        Log.d(TAG, " 高度:" + scrollView.getHeight());
        // 創建對應大小的bitmap
        bitmap = Bitmap.createBitmap(scrollView.getWidth(), h,
                Bitmap.Config.ARGB_8888);
        final Canvas canvas = new Canvas(bitmap);
        scrollView.draw(canvas);
        // 測試輸出
        FileOutputStream out = null;
        try {
            out = new FileOutputStream("/sdcard/screen_test.png");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        try {
            if (null != out) {
                bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
                out.flush();
                out.close();
            }
        } catch (IOException e) {
            // TODO: handle exception
        }
        return bitmap;
    }

附Demo下載地址:點擊打開鏈接

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved