0

描画中にフィールドを前面に移動するという問題に悩まされています。以前にこのような問題に対処した人はいますか?

簡単に言えば、問題は高度な UINegativeMarginVerticalFieldManagerサンプルから使用していることです。それを使用して、各パネル ボタンの下に強調表示されたテキストを表示します。テキストはパネルの下のコンテンツの前に配置する必要がありますが、現在はそれの後ろ。

ここに画像の説明を入力

それで、それを前面に表示する方法を知っている人はいますか?

4

1 に答える 1

2

塗る順番が違います。フィールドでペイントを上書きして、ペイントの順序を確認していただけますか?

残念ながら、フィールドがマネージャーに追加された順序に z オーダーが関連付けられており、それを変更する方法がわかりません。

あなたができること - マネージャーでペイントをオーバーライドし、必要な順序で子のペイントを呼び出します。

public class MyManager extends NegativeMarginVerticalFieldManager {
    protected void paint(Graphics g) {
        for (int i = 1; i < getFieldCount(); i++) {
            paintChild(getField(i), g);
        }

        if (getFieldCount() > 0)
           paintChild(getField(0), g);
    }
}

これはハックです-私は他のすべての後に最初のフィールドをペイントしています。

于 2012-11-07T13:51:14.070 に答える