ANDROID JAVA以度为单位沿方向移动控件

ANDROID JAVA以度为单位沿方向移动控件,java,android,imageview,move,degrees,Java,Android,Imageview,Move,Degrees,如何在特定方向上以度为单位移动控件(例如ImageView)。控件需要停止移动的位置没有坐标。我们希望以度(0-360)为单位将其向一个方向移动 这不起作用: RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); params.

如何在特定方向上以度为单位移动控件(例如ImageView)。控件需要停止移动的位置没有坐标。我们希望以度(0-360)为单位将其向一个方向移动

这不起作用:

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

        params.setMargins(100,75, 0,0);
        params.topMargin= 100;

找到了解决方案,就是这样: 窦是解决方法

RelativeLayout root = (RelativeLayout) findViewById( R.id.rootLayout );
int originalPos[] = new int[2];
bal.getLocationOnScreen( originalPos );

Double sin = (Math.sin(Math.toRadians(degrees)) * (root.getHeight() / 2 )) / Math.sin(Math.toRadians(90 - degrees));

下面是:我想你误解了我的问题。我不想旋转imageview,但我想在屏幕上沿对角线移动它,然后你应该详细解释一下。您可以借助
矩阵
。更多信息:你发布的文章与我的问题无关。我想移动它,而不是旋转。这是平移检查。确切地说,这是tan(x)。您是否也尝试过移动到0/90/270/360°?