使用Android中的自定义相对布局以圆形方式放置视图元素

时间:2013-12-20 19:51:10

标签: android android-layout

在android中有不同类型的Layouts LinearLayout会将项目线性放置(水平/垂直)。 RelativeLayout可以做得更好,并且可以相对于其他项目放置项目。

通过覆盖RelaiveLayout我想创建一个以循环方式绘制元素的Layout(如图所示)。我可以使用此处的代码段http://developer.samsung.com/android/samples-4

来执行此操作

但它只是从java代码创建整个布局,所以如果我需要制作一些复杂的布局,将这个圆圈作为布局中的一个元素,它会让我发疯,因为我必须编写很多代码。

我想以更简单的方式做到这一点,这样我就可以在XMLs布局中使用相同的概念。 任何制作自定义布局专家的人都可以告诉我如何实现同样的目标。我想要的东西,我有一个布局文件                              

从java代码中我将使用id获取CircleLayout并将Set设置为CircleLayout类的Object。现在应该有一些使用它们在CircleLayout类中编写的函数我可以在布局中进行修改,如

  CircleLayout circle= (CircleLayout)findviewById(R.id.circle);
  circle.setRadiusOfLargestRing(20);
  circle.setNumberOfRings(6);
  //Define any type of view form java
  View v1 =new View(Context);
  circle.setCenteralView(v1);
  View v2 =new View(Context);
  circle.addElementOnrings(ringNumber, v2)
  ..so on

我想要最多三个戒指,如果戒指是由可绘制的反弹形成的(如三个戒指已放置在可绘制文件夹中),我没有问题。

然后我们可以为插入到环中的每个视图设置监听器。 我的布局应足够智能,以图片中所示的方式将视图放置在环中。

我很高兴如果有人可以帮助我开发一个图书馆,那么其他人也可以从中受益。

如果有人可以指导我,我准备编写完整的代码。

enter image description here

0 个答案:

没有答案