在android中绘制锦标赛支架?

时间:2015-06-03 13:08:22

标签: android canvas layout

我有一个应用程序,它将获取播放器列表并进行设置,以便您可以动态创建括号。玩家数量也会改变,名字也会改变。

而不是显示整个括号,我的观点将是列。即而不是箭头的左侧,它显示右侧: Bracket example

我的问题是如何最好地画出这个?

我最初的想法是做多个布局,我用两个16/8/4/2的每一列用自定义可绘制和线条硬编码文本视图只有一个边框,但是我必须不断更改布局设置。

我的第二个是基于这个答案here在画布上动态绘制它,但它并没有给出很多实现的想法。

我的问题:如果我选择方法1,我是否可以动态更改活动的布局?

如果我选择方法2,我怎么能这样做呢?我对android仍然很陌生。

1 个答案:

答案 0 :(得分:3)

对于问题1,是的,你绝对可以动态地改变布局。您可以创建多个布局文件并执行以下两项操作之一:首先,您可以使用活动的setContentView(int)方法将活动的布局完全重置为新视图。第二个是识别括号部分的父视图,将其转换为ViewGroup并使用addView(View)removeView(View)

对于问题2,您可以使用画布,但是仅使用画布会非常困难,但是画布和一组文本视图的组合可能会起作用。虽然这不是直接回答你的问题,但这个tutorial是我过去使用过的,并且让你非常了解如何在android中使用Canvas类。