이번 시간에는 애니메이션을 통해 액티비티(Activity)
변경 애니메이션 효과 주는 방법을 알아보겠습니다.
1. 새로운 액티비티 추가
2. 새로운 액티비티 화면 구성
3. 새로운 액티비티 코드 구현
4. 테마 설정
5. transition 폴더 생성
6. transition 파일 생성
7. 테마에 transition 적용
8. 메인 화면 구성
9. 메인 코드 구현
app -> New -> Activity -> Empty Activity
Activity Name : Activity2 -> Finish
<?xml version="1.0" encoding="utf-8"?>
<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"
android:orientation="vertical"
android:background="@color/teal_700"
tools:context=".Activity2">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Activity2"
android:textSize="30sp"
android:layout_above="@id/goMainActivity_btn"
android:textColor="@color/white"/>
<Button
android:id="@+id/goMainActivity_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="MainActivity"
android:layout_marginTop="20dp"
android:onClick="goMainActivity"/>
</RelativeLayout>
public class Activity2 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_2);
}
public void goMainActivity(View view) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
Bundle bundle = ActivityOptions.makeSceneTransitionAnimation(this).toBundle();
startActivity(intent, bundle);
}
}
Directory name: transition -> OK
transition -> New -> Transition Resource File
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<explode
android:duration="300" />
</transitionSet>
res -> values -> themes -> themes.xml
구버전은 style.xml에 적용하면 됩니다.
style 태그 안에 추가
<!-- 화면전환 애니메이션 설정-->
<item name="android:windowActivityTransitions">true</item>
<item name="android:windowEnterTransition">@transition/trans_explode</item>
<item name="android:windowExitTransition">@transition/trans_explode</item>
<?xml version="1.0" encoding="utf-8"?>
<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"
android:orientation="vertical"
android:background="@color/pink500"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="MainActivity"
android:textSize="30sp"
android:layout_above="@id/goActivity2_btn"
android:textColor="@color/white"/>
<Button
android:id="@+id/goActivity2_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginTop="20dp"
android:onClick="goActivity2"
android:text="Activity2" />
</RelativeLayout>
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void goActivity2(View view) {
Intent intent = new Intent(getApplicationContext(), Activity2.class);
Bundle bundle = ActivityOptions.makeSceneTransitionAnimation(this).toBundle();
startActivity(intent, bundle);
}
}
2021.12.29 - [안드로이드] - [안드로이드] 애니메이션으로 뷰(View) 표시 및 숨기기 - 회전표시 애니메이션
2021.12.28 - [안드로이드] - [안드로이드] 애니메이션으로 뷰(View) 표시 및 숨기기 - 카드플립(CardFlip)
2021.12.27 - [안드로이드] - [안드로이드] 애니메이션으로 뷰(View) 표시 및 숨기기 - 크로스페이드(CrossFade) 쉽게 만드는 방법
[안드로이드 스튜디오] 레이아웃 추가하는 방법 (0) | 2022.01.01 |
---|---|
[안드로이드 스튜디오] 자바 클래스 생성하는 방법 (0) | 2021.12.31 |
[안드로이드] 애니메이션으로 뷰(View) 표시 및 숨기기 - 회전표시 애니메이션 (0) | 2021.12.29 |
[안드로이드] 애니메이션으로 뷰(View) 표시 및 숨기기 - 카드플립(CardFlip) (0) | 2021.12.28 |
[안드로이드] 애니메이션으로 뷰(View) 표시 및 숨기기 - 크로스페이드(CrossFade) 쉽게 만드는 방법 (0) | 2021.12.27 |
댓글 영역