以编程方式添加View

时间:2010-08-25 15:35:31

标签: android

我对使用ViewGroup并以编程方式添加视图感到困惑。我有一个覆盖ViewGroup类,我要添加View。这是构造函数:

public TestView(Context context) {
    super(context);

    textView = new TextView(context);
    textView.setText("This is a test.");
    textView.setId(1);
    textView.setTextColor(Color.rgb(0, 0, 0));
    textView.setVisibility(VISIBLE);
    addView(textView, 
       new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}

我可以看到我在ViewGroup的{​​{1}}覆盖中绘制的所有内容,但我从未看到textView被绘制。这应该很容易,所以我错过了什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

据我所知,默认情况下,ViewGroup中没有调用onDraw。在ViewGroups构造函数中调用setWillNotDraw(false);

http://groups.google.com/group/android-developers/browse_thread/thread/a0b71c59fb33b94a?fwc=1

答案 1 :(得分:0)

TextView的背景颜色是什么?您正在将TextView的文本颜色设置为黑色(RGB 0 0 0);如果TextView具有黑色背景,则您将看不到任何文本。