Android PhotoView setDisplayMatrix

时间:2015-11-02 14:01:22

标签: android

我正在使用https://github.com/chrisbanes/PhotoView并尝试使用setDisplayMatrix方法对其进行顶部裁剪。

基于问题:https://github.com/chrisbanes/PhotoView/issues/185

它应该可以工作,但我没有让它工作。我的ImageView在xml中定义了android:scaleType="center"

何时应该调用setDisplayMatrix以使其正常工作?

感谢。

1 个答案:

答案 0 :(得分:0)

扩展默认PhotoView并覆盖setImageDrawable为我做了诀窍。

@Override
public void setImageDrawable(Drawable drawable) {
    super.setImageDrawable(drawable);

    Matrix m = getDisplayMatrix();
    float[] values = new float[9];
    m.getValues(values);

    if (values[5] < 0.0f) {
        m.postTranslate(0, -2 * values[5]);
        setDisplayMatrix(m);
    }
}