在android中绘制锦标赛括号?

在android中绘制锦标赛括号?,android,canvas,layout,Android,Canvas,Layout,我有一个应用程序,将采取一个球员名单,并设置他们,这样你就可以通过动态创建一个括号。球员的数量会改变,名字也会改变 我的观点不是显示一个完整的括号,而是将其分为几列。即,它显示的不是箭头的左侧,而是右侧: 我的问题是,我怎样才能画得最好 我最初的想法是做多个布局,其中我硬编码文本视图,为16/8/4/2的每一列使用自定义绘图和线条,并且只使用一个边框,但随后我必须不断更改布局设置 我的第二个方法是基于这个答案在画布上动态地绘制它,但是它没有给出很多实现的想法 我的问题:如果我选择方法1,我是否

我有一个应用程序,将采取一个球员名单,并设置他们,这样你就可以通过动态创建一个括号。球员的数量会改变,名字也会改变

我的观点不是显示一个完整的括号,而是将其分为几列。即,它显示的不是箭头的左侧,而是右侧:

我的问题是,我怎样才能画得最好

我最初的想法是做多个布局,其中我硬编码文本视图,为16/8/4/2的每一列使用自定义绘图和线条,并且只使用一个边框,但随后我必须不断更改布局设置

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

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


如果我选择方法2,我该怎么做呢?我对安卓还是相当陌生的

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


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

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


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

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


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

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


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

谢谢!不管怎样,我倾向于1,所以我想这就是我要走的路。由于我将其限制为16人,我可能只为每个人设置一个单独的布局,并为每个人或其他人刷新。是的,选项2肯定是更难的选项,并且您还需要担心很多其他事情,例如画布上大量绘图调用的开销以及这些对性能的影响。无论如何,如果这确实回答了你的问题,别忘了接受它作为答案!谢谢不管怎样,我倾向于1,所以我想这就是我要走的路。由于我将其限制为16人,我可能只为每个人设置一个单独的布局,并为每个人或其他人刷新。是的,选项2肯定是更难的选项,并且您还需要担心很多其他事情,例如画布上大量绘图调用的开销以及这些对性能的影响。无论如何,如果这确实回答了你的问题,别忘了接受它作为答案!谢谢不管怎样,我倾向于1,所以我想这就是我要走的路。由于我将其限制为16人,我可能只为每个人设置一个单独的布局,并为每个人或其他人刷新。是的,选项2肯定是更难的选项,并且您还需要担心很多其他事情,例如画布上大量绘图调用的开销以及这些对性能的影响。无论如何,如果这确实回答了你的问题,别忘了接受它作为答案!谢谢不管怎样,我倾向于1,所以我想这就是我要走的路。因为我把它限制在16人之内,我可能每个人都有一个单独的布局,每个人都可以刷新。是的,选项2肯定是更难的选项,你还有很多其他的选择