Android放大镜效果另附源码

话不多说先上图
效果图

思路:先进行整个屏幕的截图,然后在我们截取下来的图片上进行建材,获取我们手指当前的位置的一个小型图片放到我们的ImageView上,进行缩放处理,其中我们需要注意的是边缘的处理。

上代码:

第一步我们进行截图整个屏幕

  /**
     * @param
     * @Name 截图逻辑
     * @Data 2018/1/30 11:27
     * @Author :MarkShuai
     */
    public static Bitmap screenshot(Activity activity) {
        // View是你须要截图的View
        activity.getWindow().getDecorView().setDrawingCacheEnabled(true);
        Bitmap bitmap = activity.getWindow().getDecorView().getDrawingCache();
        return bitmap;
    }

第二部:我们需要进行对我们的截取的图片进行处理,拿到我们手指当前位置的图片

 /**
     * @param
     * @Name 放大区域图片
     * @Data 2018/1/29 19:21
     * @Author :MarkShuai
     */
    public static Bitmap getUMImage(Context context,Bitmap bitmap, MotionEvent event) {

        Matrix matrix = new Matrix();
        matrix.setScale(1, 1);
        int eventX = (int) event.getX() - 50;
        int eventY = (int) event.getY() - 50;
        int densityX = DensityUtil.dip2pxComm(context, 50);
        int densityY = DensityUtil.dip2pxComm(context, 50);
        Bitmap btm = null;
        //边界判断开始
        if (eventX < 0) {
            eventX = 0;
        }
        if (eventY < 0) {
            eventY = 0;
        }
        if (eventX + densityX >= bitmap.getWidth()) {
            eventX = bitmap.getWidth() - densityX;
        }
        if (eventY + densityY >= bitmap.getHeight()) {
            eventY = bitmap.getHeight() - densityY;
        }
        //边界判断结束
        btm = Bitmap.createBitmap(bitmap,
                eventX,
                eventY,
                densityX,
                densityY,
                matrix,
                true);
        return btm;
    }

第三部我们进行我们ImageView的移动:

 /**
     * @param
     * @Name 移动View
     * @Data 2018/1/29 18:54
     * @Author :MarkShuai
     */
    public static void moveView(View view, MotionEvent event) {
        view.setTranslationX(event.getX() - 50);
        view.setTranslationY(event.getY() - (4 * view.getHeight() / 3));
    }

源码下载地址:http://download.csdn.net/download/markmingshuai/10232038

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要下载Android车载导航Launcher附源码,首先需要找到合适的网站或平台。可以通过搜索引擎搜索相关关键词,如“Android车载导航Launcher源码下载”来寻找相关资源。或者也可以通过开发者社区,如GitHub、StackOverflow等寻找开源项目。 一旦找到合适的下载资源,确保源码与您所需的功能和需求相匹配。仔细阅读项目的说明文档、许可证和用户评价等信息,确保该源码符合您的要求。 在进行下载之前,确保您具备开发环境以及相应的开发工具和技术知识。一般情况下,车载导航Launcher是基于Android平台的,因此您需要拥有Android开发环境和Android开发工具包(SDK)。 下载源码后,解压文件并打开项目。您可以使用Android Studio等IDE(集成开发环境)来导入项目,并根据您的需求进行配置和修改。 在进行任何修改之前,建议先阅读项目的文档和代码结构,熟悉项目的整体逻辑和功能。这样能更好地理解代码,并确保修改不会影响原有功能的稳定性和正确性。 修改完毕后,您可以根据自己的需要进行构建、编译和测试。确保应用在车载设备上的兼容性和稳定性。 最后,如果您对该源码进行了改进或优化,也可以考虑将您的成果贡献给开源社区,以便其他开发者也能受益。 总之,下载Android车载导航Launcher附源码需要找到合适的下载资源、具备开发环境和工具、熟悉项目结构和代码逻辑、进行修改和测试。这样才能成功地下载并使用源码来满足您的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值