本帖最后由 rui90102 于 2012-12-15 12:31:43 编辑

解决方案 »

  1.   

    你是说上面的六个小圆?分别由他们连接圆心,就把一个90度分成了5份,一份就是18度,如果定义任意一个小圆到圆心(就是那个红色的圆)的距离,也就是半径为R,最高的小圆的坐标为(x,y)那么其他的y坐标依次为
    (y - (1-cos(a))*R),其中a依次取18度、36度、54度、72度、90度。不知道你问的是不是这个意思。Java中计算cos有Math.cos(double arg0);
      

  2.   

    为何要计算额?系统不是给了得到坐标的方法嘛,直接调用就行,getLocationOnScreen()。这样用:
    int[] location = new int[2];
                t.getLocationOnScreen(location);
                int x = location[0];
                int y = location[1];!要等UI控件都加载完了才能调用这个方法,不然获取到的结果是0。
      

  3.   

    1.现在那个layout上不是已经有东西了么。你得到它的坐标,其他控件都可以设置啊。2.还是说,一开始layout上什么也没有?那样的话,你可以用相对坐标来设计。
    具体:以“红叉”为参考点。第一个图,底部离它100,左边离它10;第二个图,底部离它80,左边离它25...数字是我假设的,你可以先大概设个值看看,然后再调整。学长只能帮你到这了。
      

  4.   


    是layout上面什么也没有的,那样自定义的话,不太精准,很感谢你了
      

  5.   


    手机屏幕通常都是以左上叫为(0,0)点,你要摆放如图一个四分之一圆,先放第一个位置(x,y)随便你放的(比如你放到屏幕(100,100)位置,就是你的相机图标的位置了),剩下的图,根据你要显示的四分之一圆的大小,先设定一个半径R(比如是400),那么其余图标的坐标就一次为 (x1, y1): x1 = (x + sin(a)*R), y1 = (y + (1-cos(a))*R),其中a依次取18度、36度、54度、72度、90度,就是对应的人、位置、音乐、信息、月亮的图标的位置,不知道我这么说你能明白不。