ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android 4.3 ImageView ScaleType.MATRIX

2019-08-25 16:29:48  阅读:149  来源: 互联网

标签:android android-imageview android-4-3-jelly-bean


今天我在Nexus 7上设置了新的Android JB 4.3,我试着运行我的应用程序.

除了0700和ScaleType.MATRIX之外的一件小事,Everythings的工作方式应该是应该的.

基本上我在我的应用程序中有一个ImageView作为背景,相应于ViewPager回调我移动图像的焦点部分更新Matrix我使用setImageMatix( Matrix matrix )给imageView.

问题似乎是我不能再更新矩阵了,我只需要实例化一个新的传递给ImageView.

我设法解决它每次新的Matrix实例化,但它似乎与旧版本相比内存昂贵.

这是一个BUG吗?
有没有办法更新Matrix? (顺便说一下,我已经尝试过invalidate()的ImageView ecc.)

不工作

    private void updateMatrix( final int page, final double offset ) {          
        double pagePosition = page + offset;

        Matrix matrix = imageView.getImageMatrix();
        matrix.setScale( scale, scale );
        matrix.postTranslate( - (float) ( pagePosition * pageWidth ) , 0 );

        imageView.setImageMatrix( matrix );

        imageView.invalidate();
    }

工作

    private void updateMatrix( final int page, final double offset ) {          
        double pagePosition = page + offset;

        Matrix matrix = new Matrix();
        matrix.setScale( scale, scale );
        matrix.postTranslate( - (float) ( pagePosition * pageWidth ) , 0 );

        imageView.setImageMatrix( matrix );

        imageView.invalidate();
    }

编辑:

在第一种情况下,图像显示在ImageView的左上角,没有应用任何比例或平移,就像矩阵回到标识.

解决方法:

只需将Matrix保存为字段,而不是从ImageView中检索它,你会很高兴:)

标签:android,android-imageview,android-4-3-jelly-bean
来源: https://codeday.me/bug/20190825/1720503.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有