zoukankan      html  css  js  c++  java
  • Android学习笔记之,调用系统图库,添加自定义字体,屏幕截图

    新年开始的第一天就来学习了慕课迎春活动中的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中获取结果
    @Override
    protected 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

  • 相关阅读:
    《插件式GIS应用框架的设计与实现》一书中一个小问题
    ArcGIS API for Silverlight 入门学习笔记(一)hello world 补充问题
    ArcGIS API for Silverlight 入门学习笔记(一):hello world
    20120906CSS学习笔记
    ASP Response
    20120830笔记
    ASP Request
    201299日记
    20120907学习笔记
    LINKSERVER跨服务器之间的数据拷贝
  • 原文地址:https://www.cnblogs.com/lurenjiashuo/p/android-note-pick-picture-font-screenshot.html
Copyright © 2011-2022 走看看