【问题标题】:Add a TextView inside a Custom View that herited View在继承 View 的自定义视图中添加一个 TextView
【发布时间】:2013-06-21 11:52:09
【问题描述】:

我想知道是否可以在继承自 View 的自定义视图中以编程方式添加文本视图。在这个 customView 中,我用画布绘制了一些形状,还需要放置一些文本。我尝试使用 drawText 但它没有提供足够的可能性,特别是对于文本的位置。基本上,我想把文字放在里面,并且正好放在一个圆圈的中间,同时我的文字正好适合这个圆圈(我已经知道该怎么做)。

这就是为什么我想知道是否可以通过声明并绘制它来添加一个文本视图。也许我需要使用充气机?

我真的不知道什么是最好的选择,所以我需要你的帮助:)

【问题讨论】:

  • 扩展 TextView 而不是 View?

标签: android view textview custom-view drawtext


【解决方案1】:

您可以为此使用 drawText(String text, float x, float y, Paint paint) 方法。 像这样:

绘制 mPaint = new Paint();

mPaint.setColor(Color.BLACK);

mPaint.setAntiAlias(true);

mPaint.setStyle(Paint.Style.FILL);

canvas.drawText("你的文字在这里", 10, 20, mPaint);

【讨论】:

  • 这不是文本视图
  • @mladj0ni 我已经更正了 drawText() 的参数以在画布中添加文本,这在问题描述中提供。我从来没有提到任何地方是 TextVIew。
【解决方案2】:

您应该扩展 ViewGroup 子类,而不是扩展 View FrameLayout

这样您仍然可以使用画布绘制自定义视图,还可以将子视图添加到自定义绘制的视图组中。

【讨论】:

  • 我扩展了RelativeLayout,但子视图是不可见的,它们只是不会出现..
猜你喜欢
  • 2017-06-03
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
  • 2013-03-28
  • 2013-01-31
  • 1970-01-01
  • 1970-01-01
  • 2018-01-04
相关资源
最近更新 更多