Android FrameLayout/ImageView旋转问题
问题描述:
我正在旋转一个FrameLayout,其中包含一个ImageView与图像。当我在旋转的FrameLayout上添加另一个Imageview比添加的ImageView还像往常一样默认旋转。Android FrameLayout/ImageView旋转问题
为了防止这一点,因为我需要添加的ImageView不能旋转,我旋转该ImageView以相反的角度从FrameLayout。
我使用以下代码旋转的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);
我在旋转Ima geView使用以下代码:
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的以及。
这里我也附加了图片。 这是问题
我需要这样的
任何帮助的解决方案/建议将不胜感激。
在此先感谢
答
我的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);
希望这将帮助你...
怎么样不在相同的框架内添加第二个视图,因为你不想旋转它,但只显示它?相反,您可以将它放在带有透明背景的浮动视图中,您是否尝试过? – mass
@mass,我需要旋转第二个视图以及相同的框架,因此我在同一个框架内添加了第二个视图。但是如果框架已经旋转并且仅在上述场景中发生了这种情况,第二个视图才会旋转。 – Nitesh
对不起,我不清楚你想要做什么。你想独立旋转第二个图像视图吗?或者你的问题是,当你将第二个图像视图添加到视图中时,它会旋转,因为视图已经旋转了?这对我来说似乎很直观。为什么不跟踪原始框架的旋转?如果你用更多的细节解释你真正想要的东西,我会帮你的。 – mass