3

私はかなり単純なカスタムビューを持っています:

public class TestControl : RelativeLayout
{
    private readonly Context _context;

    private TextView _textLabel;

    public TestControl(Context context) : base(context)
    {
        _context = context;

        LayoutParameters = new LayoutParams(300, 200);
        SetBackgroundColor(Color.Green);

        _textLabel = new TextView(_context);
        _textLabel.SetText("Test test test test test test", TextView.BufferType.Normal);
        _textLabel.SetTextColor(Android.Graphics.Color.Black);
        _textLabel.LayoutParameters = new ViewGroup.LayoutParams(200, 50);
        _textLabel.SetBackgroundColor(Color.Red);

        AddView(_textLabel);
    }

    protected override void OnLayout(bool changed, int l, int t, int r, int b)
    {

    }
}

メイン アクティビティ レイアウトにビューとして追加しようとすると、次のようになります。

var myControl = new TestControl(this);
myMainLayout.AddView(myControl);

緑の長方形 (300 x 200) しか表示されませんが、TextView は表示されません。

私は何を間違っていますか?実際にはもっと複雑なカスタムビューが必要なので、色付きのレイアウト内に少なくとも TextView を表示する方法についてのヘルプは大歓迎です。

前もって感謝します。

4

1 に答える 1

0

ここで説明されていることと同様のことを行う必要があるでしょう。SetWillNotDrawは、そのような状況でいくつかのトリックを実行できます。

于 2012-07-05T10:50:21.030 に答える