MonoDroid自定义View不显示孩子

时间:2012-07-04 16:02:05

标签: android custom-controls xamarin.android

我有非常简单的自定义视图:

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的帮助非常感谢,因为我需要更复杂的自定义视图。

提前致谢。

1 个答案:

答案 0 :(得分:0)

你可能需要做一些与解释here类似的事情。在这种情况下,SetWillNotDraw会对你有所耍。