Android 如何旋转视图组
我有一个FrameLayout,我使用WindowManager.addView将此FrameLayout显示为浮动窗口。在此框架布局中有许多子视图,如ImageView和SeekBar。然后我需要通过View.setRotate旋转此框架布局。调用此方法后,FrameLayout似乎已旋转,但当我希望通过其中的某些子视图与它交互时,我发现所有子视图在旋转之前仍位于原点。那么,如何旋转视图组及其所有子视图?您可以尝试以下操作:Android 如何旋转视图组,android,Android,我有一个FrameLayout,我使用WindowManager.addView将此FrameLayout显示为浮动窗口。在此框架布局中有许多子视图,如ImageView和SeekBar。然后我需要通过View.setRotate旋转此框架布局。调用此方法后,FrameLayout似乎已旋转,但当我希望通过其中的某些子视图与它交互时,我发现所有子视图在旋转之前仍位于原点。那么,如何旋转视图组及其所有子视图?您可以尝试以下操作: RelativeLayout mainLayout = (Relat
RelativeLayout mainLayout = (RelativeLayout) findViewById(R.id.main);
int w = mainLayout.getWidth();
int h = mainLayout.getHeight();
mainLayout.setRotation(270.0f);
mainLayout.setTranslationX((w - h) / 2);
mainLayout.setTranslationY((h - w) / 2);
ViewGroup.LayoutParams lp = (ViewGroup.LayoutParams) mainLayout.getLayoutParams();
lp.height = w;
lp.width = h;
mainLayout.requestLayout();
这应该会有帮助。谢谢你的帮助,但这对我不起作用。我的框架布局具有相同的宽度和高度,所以我的问题是如何将子视图旋转到正确的位置。例如,我在这个框架布局的右上角有一个关闭按钮,当我旋转这个框架布局270时,这个关闭按钮应该在这个框架布局的左上角。它显示在左上角。但当我按下左上角时,没有动作,当我按下右上角时,FrameLayout关闭。