将textView添加到自定义Android视图

时间:2017-10-27 20:25:02

标签: android android-view textview

我有以下View,我想为其添加TextView。有谁知道怎么做?

public class ProgressView extends View {

  TextView text;

  public ProgressView(Context context, @Nullable AttributeSet attrs) {
    super(context, attrs);
    text = new TextView(getContext());
    text.setText("Hello");
    // How can I add this to the view now??
  }

  @Override
  protected void onDraw(final Canvas canvas) {

  }
}

2 个答案:

答案 0 :(得分:0)

您无法将View添加到另一个View,而是添加到ViewGroup。如果您想将其设为自定义ViewGroup,则必须实施onLayout()

答案 1 :(得分:0)

为了使您的自定义视图能够保存其他视图,它必须派生自ViewGroup或子类(我强烈建议使用子类,因为这样可以免费提供很多)。您希望撰写extends LinearLayout(或FrameLayout)代替extends View的机会很好。

然后,您实际上必须添加您已创建的TextView视图。一旦您的视图来自ViewGroup,您就可以编写

addView(text);