개요
이 튜토리얼에서는 Android 앱에서 ImageView에 표시된 이미지를 버튼 클릭 한 번으로 지정한 각도만큼 회전시키는 방법을 알아봅니다. 핵심은 setRotation() 메서드로, 인자로 전달한 값(도 단위)만큼 뷰를 시계 방향으로 회전시킵니다.
예를 들어 setRotation(90)을 호출하면 이미지가 시계 방향으로 90도 회전하며, 0~360도 사이의 값을 자유롭게 사용할 수 있습니다.
1단계 — 새 프로젝트 생성
Android Studio를 열고 File → New Project를 선택한 후, 필요한 정보를 모두 입력하여 새 프로젝트를 생성합니다.
2단계 — 레이아웃 파일 작성 (res/layout/activity_main.xml)
아래 코드를 activity_main.xml에 추가합니다. 화면 중앙에 ImageView를 배치하고, 하단에는 회전을 실행할 Button을 배치했습니다.
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="2dp"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="600dp"
android:layout_gravity="center"
android:layout_margin="20sp"
android:src="@drawable/image"/>
<Button
android:id="@+id/btnRotate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginTop="20sp"
android:text="Rotate View"
android:textStyle="bold"
android:layout_marginBottom="10dp"
android:layout_alignParentBottom="true"/>
</RelativeLayout>3단계 — 메인 액티비티 코드 작성 (src/MainActivity.java)
버튼에 클릭 리스너를 등록하고, 클릭 시 setRotation(90)을 호출해 이미지를 90도 회전시킵니다.
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
ImageView imageView;
Button btnRotate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
btnRotate = findViewById(R.id.btnRotate);
btnRotate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 이미지를 시계 방향으로 90도 회전
imageView.setRotation(90);
}
});
}
}응용 팁
- 버튼을 누를 때마다 계속 회전시키고 싶다면 현재 각도를 변수로 관리한 뒤 90도씩 더해주면 됩니다.
rotation += 90; imageView.setRotation(rotation); - 음수 값을 전달하면 반시계 방향으로 회전합니다. 예:
setRotation(-45)
4단계 — 매니페스트 확인 (androidManifest.xml)
아래와 같이 AndroidManifest.xml에 MainActivity가 정상적으로 등록되어 있는지 확인합니다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>앱 실행 및 결과 확인
실제 Android 기기를 컴퓨터에 연결한 상태라고 가정하고 진행합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 연 뒤, 툴바의 Run 아이콘을 클릭하세요. 실행 기기 목록에서 본인의 모바일 기기를 선택하면, 기기 화면에 아래와 같은 결과가 표시됩니다.
버튼을 누르기 전에는 이미지가 원본 상태로 표시되며,

Rotate View 버튼을 클릭하면 이미지가 즉시 90도 회전된 것을 확인할 수 있습니다.
