添加一个textView到自定义Android视图

4

我有以下代码 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) {

  }
}

扩展一个ViewGroup。 - kalabalik
很好的调用,我简直不敢相信我没想到这样做。如果你把这个作为答案发布,我会给你打勾。 - hermt2
实际上,忘了吧,当我这样做时我的视图不显示。 - hermt2
你想要做什么?你的自定义 ViewViewGroup 会有什么作用? - kalabalik
2个回答

1

您不能将一个 View 添加到另一个 View,但可以添加到一个 ViewGroup 中。如果您想将其作为自定义的 ViewGroup 使用,则必须实现 onLayout() 方法。


1
为了使您的自定义视图能够容纳其他视图,它必须派生自ViewGroup或其子类(我强烈建议使用子类,因为这会为您提供很多免费内容)。很可能你想编写extends LinearLayout(或FrameLayout)而不是extends View
然后,您实际上需要将创建的TextView添加到您的视图中。一旦您的视图派生自ViewGroup,您只需编写
addView(text);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接