我有以下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) {
}
}
答案 0 :(得分:0)
您无法将View
添加到另一个View
,而是添加到ViewGroup
。如果您想将其设为自定义ViewGroup
,则必须实施onLayout()
答案 1 :(得分:0)
为了使您的自定义视图能够保存其他视图,它必须派生自ViewGroup
或子类(我强烈建议使用子类,因为这样可以免费提供很多)。您希望撰写extends LinearLayout
(或FrameLayout
)代替extends View
的机会很好。
然后,您实际上必须添加您已创建的TextView
视图。一旦您的视图来自ViewGroup
,您就可以编写
addView(text);