如何在容器中取消旋转imageview

时间:2017-02-26 09:47:31

标签: android rotation imageview

我有这个布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<RelativeLayout
    android:layout_width="400dp"
    android:layout_height="400dp"
    android:gravity="center_vertical"
    android:id="@+id/container"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:background="@color/blue">

    <ImageView
        android:layout_width="30dp"
        android:layout_height="30dp"
        app:srcCompat="@drawable/small_plane"
        android:id="@+id/plane"
        android:layout_below="@id/diagramcompass"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp" />

    <ImageView
        android:layout_width="200dp"
        android:layout_height="200dp"
        app:srcCompat="@drawable/holdingvor"
        android:id="@+id/arrows"
        android:layout_marginTop="47dp"
        android:layout_alignTop="@+id/diagramcompass"
        android:layout_centerHorizontal="true" />

    <ImageView
        android:layout_width="300dp"
        android:layout_height="300dp"
        app:srcCompat="@drawable/diagrammcompass"
        android:id="@+id/diagramcompass"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="38dp" />

</RelativeLayout>

<Button
    android:text="rotate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/button2" />

当我从传感器获得结果时,我需要一个id为container的元素的旋转,允许所有元素的旋转。问题是我希望diagramcompass已修复,我希望此imageview不会旋转。

现在我在代码中使用此解决方案:

  layout.setRotation(i);
  imageView.setRotation(-i);

取消旋转,但此解决方案在布局中移动imageview,这不是固定的。

那么有更好的方法吗?

由于

0 个答案:

没有答案