我是android的新手,我試圖用片段交易來代替片段。 但是我不能成功地制作一個線性影片。
有人能幫助我嗎?
謝謝你的幫助。
預先感謝
uj5u.com熱心網友回復:
你可以像這樣在XML中創建影片 -
<!-- res/anim/fade_out.xml -->/span>
<?xml version="1.0" encoding="utf-8"? >
<alpha xmlns:android="http://schemas.android.com/apk/res/android"/span>
android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:anim/decelerate_interpolator"。
android:fromAlpha="1"。
android:toAlpha="0"/span> />
<!-- res/anim/slide_in.xml -->
<?xml version="1.0" encoding="utf-8"? >
<translate xmlns:android="http://schemas.android.com/apk/res/android"/span>
android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:anim/decelerate_interpolator"。
android:fromXDelta="100%"
android:toXDelta="0%"/span> />
在2個不同的XML檔案中加入上述代碼,并將這些檔案放在res/anim目錄下。
然后在替換你的片段時,只需像這樣應用這些影片 -
val fragment = FragmentB()
supportFragmentManager.commit {
setCustomAnimations(
enter = R.anim.slide_in,
exit = R.anim.fade_out
)
replace(R.id.fragment_container, fragment)
addToBackStack(null)
}
更多資訊 - https://developer.android.com/guide/fragments/animate#set-animations
uj5u.com熱心網友回復:
例如,在anim檔案夾中創建2個檔案fragment_from_left.xml和fragment_from_right.xml,代碼如下:
fragment_from_left.xml
<?xml version="1.0" encoding="utf-8"? >
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"/span>
android:fromXDelta="-100%"。
android:toXDelta="0"。
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/span>/>
</set>/span>
fragment_from_right.xml
<?xml version="1.0" encoding="utf-8"? >
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"/span>
android:fromXDelta="100%"。
android:toXDelta="0"。
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="500"/>
</set>/span>
這將使你的片段從左邊出現。你可以使用另一個插值器(這個插值器從開始到結束會減慢影片速度 然后在你的java代碼中這樣做:
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.fragment_from_right, R.anim.fragment_to_left, R.anim.fragment_from_left, R.anim.fragment_to_right)
.addToBackStack(null).replace(R.id.main_container, fragment).commit()。
現在你的片段將出現影片。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/306685.html
標籤:
上一篇:在PHP中顯示一個嵌套的會話變數
