我有一个ListView,其中包含TextView作为列表项中的一项。定制适配器扩展了ArrayAdapter。 TextView将包含名称。我还想在TextView背景中的文本下方绘制一个简单的条形图。它将代表每个销售员的每月销售额。因此它将有12个垂直条(每个月一个),按比例跨过TextView的宽度(每个条是TextView宽度的十二分之一)。
执行此操作的正确方法是什么?我是Java和Android的新手。但是在其他平台上有多年的编程经验,只是您知道我希望获得的详细程度。例如。我将在哪里实现绘图代码(在适配器的getView()中?),以及如何在TextView的背景上绘制简单的条形图?谢谢。
答案 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/