1

私は画像のトリミングであるアプリケーションを作成しています。
しかし、Galaxy nexus には問題があります。
Region.Op.DIFFERENCE は機能しません。
Desire(2.3.3) および GalaxyNexus(4.1) エミュレータは正常に動作します。
ただし、GalaxyNexus Real Phone のみでは動作しません

欲望(2.3.3)はうまく機能します

Galaxy Nexus (4.1.1) の問題

コードを見てください...それはonDrawオーバーライドされたメソッドであり、拡張されたimageviewです

@override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    //all rectangle   
    getDrawingRect(viewRect);

    //small rectangle
    getDrawingRect(smallRect);
    smallRect.left += 100;
    smallRect.right -= 100;
    smallRect.bottom -= 200;
    smallRect.top += 200;

    // paint  color setting to transparency black
    mNoFocusPaint.setARGB(150, 50, 50, 50);

    // All Rectangle clipping
    canvas.clipRect(viewRect);
    // Small Rectangle clipping
    canvas.clipRect(smallRect, Region.Op.DIFFERENCE);

    // Draw All Rectangle transparency black color it's except small rectangle
    canvas.drawRect(viewRect, mNoFocusPaint);
}
4

2 に答える 2

2

解決しました!

このコードをマニフェストに追加します

    android:hardwareAccelerated="false"

: )

于 2012-12-19T07:28:31.770 に答える