0

EditText数日前に Nexus 10 を Android 4.3 にアップデートしたところ、ビューに奇妙な問題が発生していることに気付きました。テキストの周りにある黒い境界線の代わりに、それはビューの周りにあります.

テキストの周りに黒い境界線を描くために使用したコードは次のとおりです。それはうまく機能します..またはそう思いました。これはおそらく Android 4.3 のバグでしょうか? これは私が問題を抱えている唯一のデバイスであり、Android 4.2 を実行していたときには問題はありませんでした。

描画方法をオーバーライド:

@Override
public void draw(Canvas aCanvas)
{
    BLACK_BORDER_PAINT.setColor(Color.BLACK);
    aCanvas.saveLayer(null, BLACK_BORDER_PAINT, Canvas.FULL_COLOR_LAYER_SAVE_FLAG | Canvas.MATRIX_SAVE_FLAG);
    drawBackground(aCanvas, -border_width, -border_width);
    drawBackground(aCanvas, border_width + border_width, 0);
    drawBackground(aCanvas, 0, border_width + border_width);
    drawBackground(aCanvas, -border_width - border_width, 0);
    aCanvas.restore();
    super.draw(aCanvas);
}

描画背景:

private void drawBackground(Canvas aCanvas, int aDX, int aDY)
{
    aCanvas.translate(aDX, aDY);
    super.draw(aCanvas);
}

ペイント:

private static final Paint BLACK_BORDER_PAINT = new Paint();

static
{
    BLACK_BORDER_PAINT.setXfermode(new PorterDuffXfermode(Mode.DST_OUT));
}

ご意見はありますか?バグかもしれない気がしますが、なんとも言えません。何かが欠けているだけかもしれません。さまざまなことを試しましたが、Android 4.3 の解決策はまだ見つかりません。

4

0 に答える 0