gpt4 book ai didi

安卓 4.3 ImageView ScaleType.MATRIX

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:32 25 4
gpt4 key购买 nike

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

除了关于 ImageViews 的一件小事外,一切都像它应该的那样工作与 ScaleType.MATRIX .

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

问题似乎是我无法再更新矩阵,我只需要实例化一个新矩阵并将其传递给 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 中检索它,您会很高兴:)

关于安卓 4.3 ImageView ScaleType.MATRIX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17883719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com