我正在旋转FrameLayout,其中包含带有图像的Imageview。当我在旋转的FrameLayout上添加另一个Imageview时,添加的imageview也会像往常一样默认旋转。
为了防止这种情况,因为我需要添加不再旋转的ImageView,我将从FrameLayout以反向角度旋转ImageView。
我正在使用以下代码旋转FrameLayout:
(1)旋转:
float angle = mainFrm.getRotation();
if (angle == 0) {
angle = 360;
}
angle = angle - 90;
mainFrm.setRotation(angle);
(2)垂直翻转
float angle = mainFrm.getRotationX();
if (angle == 0) {
angle = 360;
}
angle = angle - 180;
mainFrm.setRotationX(angle);
(3)水平翻转
float angle = mainFrm.getRotationY();
if (angle == 0) {
angle = 360;
}
angle = angle - 180;
mainFrm.setRotationY(angle);
我使用以下代码旋转ImageView:
if(mainFrm.getRotation()!=0)
{
iv.setRotation(-(mainFrm.getRotation()));
}
if(mainFrm.getRotationX()!=0)
{
iv.setRotationX(-(mainFrm.getRotationX()));
}
if(mainFrm.getRotationY()!=0)
{
iv.setRotationY(-(mainFrm.getRotationY()));
}
现在我面临的问题是当我第一次旋转框架(270度),然后垂直翻转(180度)时,在向旋转的框架添加ImageView之后,它也会旋转ImageView。
这里我也附上了图片。 这就是问题
我需要像这样的解决方案
任何帮助/建议都将受到高度赞赏。
提前致谢
答案 0 :(得分:0)
我的Framelayout就像..
<FrameLayout android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="#33ffff">
<ImageView android:id="@+id/image1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher"/>
<ImageView android:id="@+id/image2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:src="@drawable/ic_launcher"/>
</FrameLayout>
我的java代码是,
mFrame = (FrameLayout) findViewById(R.id.frame);
mImage1 = (ImageView) findViewById(R.id.image1);
mImage2 = (ImageView) findViewById(R.id.image2);
float angle = mFrame.getRotation();
if(angle == 0) {
angle = 180;
}
mFrame.setRotation(angle);
mImage2.setRotation(-angle);
希望这会对你有帮助......