화면의 하단의 나침반모양이 반만 나오게 해서 폰의 회전값을 가지고 나침반을 돌릴고 합니다.
그런데 해상도별루 다달라서 어떤건 정상으로 돌아가고 어떤기기는 위치가 바뀌면서 회전이 됩니다.
아래와 같이 FreamLyaout안에 넣었구요 반만보이기하기위해 높이를 200dip를 주었습니다.
회전을 위해서 imageView를 커스텀한 CompassImageView 클래스가 있구요 타입은 matrix입니다.
mMatrix.setRotate(rotate, getWidth()/2, getHeight()/2); 회전을 위한 함수 입니다. 이미지의 가로 세로의 /2를 해서 중심점을 기준으로 회전을 시켰습니다.
<!-- 콤파스 -->
<FrameLayout android:id="@+id/frm_compass" android:layout_width="wrap_content" android:layout_height="200dip" android:layout_gravity="bottom|center_horizontal" android:visibility="gone" >
<android.util.CompassImageView android:id="@+id/iv_compass" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="matrix" android:src="@drawable/compass" android:visibility="visible" android:layout_gravity="center" />
<ImageView android:id="@+id/iv_arrow" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|center_horizontal" android:src="@drawable/compass_arrow" />
</FrameLayout>