在TextView背景上绘制条形图

时间:2019-08-11 12:55:39

标签: android android-layout textview draw

我有一个ListView,其中包含TextView作为列表项中的一项。定制适配器扩展了ArrayAdapter。 TextView将包含名称。我还想在TextView背景中的文本下方绘制一个简单的条形图。它将代表每个销售员的每月销售额。因此它将有12个垂直条(每个月一个),按比例跨过TextView的宽度(每个条是TextView宽度的十二分之一)。

执行此操作的正确方法是什么?我是Java和Android的新手。但是在其他平台上有多年的编程经验,只是您知道我希望获得的详细程度。例如。我将在哪里实现绘图代码(在适配器的getView()中?),以及如何在TextView的背景上绘制简单的条形图?谢谢。

1 个答案:

答案 0 :(得分:1)

您有一些选择,可以在画布上绘制自定义栏。然后将您的文本视图放在其顶部。

https://developer.android.com/training/custom-views/custom-drawing

或者您可以使用MpAndroidChart之类的工具为您制作条形图,然后再次在其上放​​置文本视图。

https://github.com/PhilJay/MPAndroidChart

更新:

查看此codelab以获得自定义图纸。

我建议在功能更强大的列表RecyclerView中执行类似的操作,将视图绑定到回收者视图时,将填充数据。这将为您提供更多的运行时灵活性和效率来处理此自定义方案。

您可以使用几种不同的布局类型堆叠视图,但是在 { "fontWeight": 900, "textAlign": "center" } { "fontWeight": 900, "text-Align": "center" } { "fontWeight": 900, "align": "center" } { "fontWeight": 900, "fontAlign": "center" } 中最容易重叠视图

FrameLayout

检查一下: https://academy.realm.io/posts/360-andev-2017-joshua-lamson-custom-drawing-canvas/