您好,我是新来的过渡人员。 在过渡期间,您会看到白色背景被隐藏。
活动A --->活动B
(A中的设置动画)
e
(viewHolder-A中的动画触发)
private fun setupWindowAnimations() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// A (general activity) --> B ((this , detail activity))
val slide = Slide(Gravity.LEFT)
slide.duration = 500
window.enterTransition = slide
// A (general activity) <-- B ((this, detail activity))
val fade = Fade()
fade.duration = 1000
window.returnTransition = fade
}
(B中的设置动画)
override fun onClick(view: View?) {
if (view != null) {
val intent: Intent = Intent(view.context, DisksActivity::class.java)
val bundle: Bundle = Bundle()
bundle.putString(view.context.getString(R.string.EXTRA_DISK_TITLE), itemView.tag.toString())
intent.putExtras(bundle)
val sharedView: View = itemView.findViewById(R.id.cd_room_title)
val transitionName: String = view.context.getString(R.string.transition_disk_name_title)
val options = ActivityOptionsCompat.makeSceneTransitionAnimation(
view.context as Activity, sharedView, transitionName)
view.context.startActivity(intent,options.toBundle())
}
}
(两者的主要布局)
private fun setupWindowAnimations() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// A (general activity) --> B ((this , detail activity))
val slide = Slide(Gravity.LEFT)
slide.duration = 500
window.enterTransition = slide
// A (general activity) <-- B ((this, detail activity))
val fade = Fade()
fade.duration = 1000
window.returnTransition = fade
}
}
如何在过渡期间设置背景? 要么 您知道一些解决方法吗?
谢谢!
答案 0 :(得分:1)
使用主题为第二个Activity设置windowBackground可能会有所帮助。
创建一个可绘制对象并将其命名为background.xml,以将其设置为具有shows的第二个活动的窗口背景,直到加载布局:-
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimary" />
</layer-list>
下一步是在styles.xml中为第二个活动创建一个主题
<style name="Theme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/background</item>
</style>
现在通过设置android:theme="@style/Theme"
来设置第二个活动的主题
属性在清单中您的活动标签内。
希望这会有所帮助。