在android中实现自定义视图

时间:2014-04-03 08:10:42

标签: java android

我已经在Android上工作了一段时间,但最近出现了一些新的东西。 我应该做一个日历。有一个默认的CalendarView View,但它与我的客户想要的日历截然不同。

现在我开始在互联网上创建“创建自定义视图”教程。

我发现我可以扩展存在的东西,或者扩展View。

我扩展了View。我的动机是从基础开始,即绘制按钮网格,这些按钮代表一个月中的几天,点击用户将被导航到不同的页面。

这是我到达deadend的地方。我知道onDraw用于创建视图的视觉效果。但是我们必须使用Canvas类。如何在onDraw方法中包含android.widget.Button作为布局的一部分?

或者我已经完全胭脂并且遵循了错误的方式?

请帮助我。感谢

1 个答案:

答案 0 :(得分:0)

您应该创建自定义ViewGroup,如果是日历,我会建议您继承GridView。 可能更容易手动绘制你的画布。

GridView将更容易入手,但画布将为您提供更丰富的可能性。

如果选择GridView,则应创建一个适配器,每天一个。 如果你选择Canvas,你应该基本上用两个嵌套的循环绘制你的项目,外部用于行的内部用于列。您可以直接在画布上绘制文本,形状,基本上所有内容。 另一方面,使用标准的android视图将允许您以更容易的方式集成触摸事件或动画。仅使用画布执行此类操作要复杂得多。