2012-07-04 62 views
3

我有很簡單的自定義視圖:MonoDroid的自定義視圖不顯示孩子

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); 

我只看到綠色recangle(300 x 200),但沒有TextView。

我在做什麼錯?任何關於如何至少在一些彩色佈局中顯示TextView的幫助非常感謝,因爲我需要更復雜的自定義視圖。

在此先感謝。

回答

0

您可能需要做些類似於here的解釋。 SetWillNotDraw在這種情況下可以對你玩一些技巧。