728x90
Activity도 Fragment 처럼 애니메이션을 정의할 수 있다.
Activity는 Fragment와 달리 기본 애니메이션이 설정되어 있으므로 기본을 사용해도 된다.
주의할 점은 나타나는 Activity, 사라지는 Activity 모두 설정 해야한다.
애니메이션 설정은 overridePendingTransition 메서드를 사용한다.
package com.example.activityanimation2
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
val intent = Intent(this,SecondActivity::class.java)
startActivity(intent)
// overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right)
// overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out)
overridePendingTransition(R.anim.slide_xml1,R.anim.slide_xml2)
}
}
}
package com.example.activityanimation2
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_second.*
class SecondActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
button2.setOnClickListener {
finishActivity()
}
}
// 핸드폰 뒤로가기 버튼 클릭시 실행되는 함수
override fun onBackPressed() {
// super.onBackPressed()
finishActivity()
}
fun finishActivity() {
finish()
// overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right)
// overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out)
overridePendingTransition(R.anim.slide_xml3,R.anim.slide_xml4)
}
}
slide_xml1
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="-100%"
android:toXDelta="0%"
android:duration="500"/>
</set>
slide_xml2
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0%"
android:toXDelta="100%"
android:duration="500"/>
</set>
slide_xml3
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0%"
android:toXDelta="-100%"
android:duration="500"/>
</set>
slide_xml4
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="100%"
android:toXDelta="0%"
android:duration="500"/>
</set>
728x90
'안드로이드 > Fragment' 카테고리의 다른 글
안드로이드 fragment에서 부모 fragment 접근 (0) | 2022.08.04 |
---|---|
안드로이드 DialogFragment (0) | 2022.08.03 |
안드로이드 Fragment Animation (0) | 2022.06.17 |
안드로이드 DialogFragment (0) | 2022.06.17 |
안드로이드 ListFragment (0) | 2022.06.17 |