2016-02-06 19 views
0

我在下面提供了一张图片,以便您可以更好地理解。基本上我希望用户从1-10中选择一个由圆圈表示的数字(一次只能选择1个数字)。比方说,我选择数字10,正如你可以看到图片上我想要圆圈描边,并在数字被选中时改变颜色(指示用户数字已被选择)。在挑选号码后,按下“蓝色按钮”,我想得到的值为进行其他计算。Android - 选择圆形触摸物体显示的选项

This is how I want it to be

我觉得有一个基于触摸的圆圈是做,而不是使用旋转器的,因为它需要更多的时间的最佳方式。现在的问题是如何做到这一点没有代码重复或冗余,以及如何以最好的方式实现这一点。我想我必须创建一个圆形对象(可能是圆形的按钮形状)10次,然后在它们上面放置文本,将它们分组到数组中?或者是否有更高效的方法来完成此操作。

回答

0

我相信有更好的方法来实现这一点,但我建议一个简单的解决方案,因为你想要的!

现在的问题是如何做到这一点没有代码重复或冗余?

您可以在drawable文件夹中创建一个xml文件,并把两个不同的椭圆shape在那只:defaultShapepickedShape,使用<solid><stroke>标签来定制你的形状,只要你喜欢,然后将其应用到你的按钮'background

为了处理您的按钮采摘您应该实现同onClickListener所有10个按钮,如果其中一人被挑选将其保存到一个临时变量像Button pickedButton,在你的听众的检查,如果pickedButtonnull改变其背景到defaultShape,然后将新挑选的一个分配给pickedButton,然后将其background更改为pickedShape

希望你觉得它有帮助。