如何在过渡期间设置背景?
How can I set the background during transition?
您好,我是过渡方面的新手。
在过渡期间,您可以看到隐藏的白色背景。
Activity-A --->Activity-B
(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
}
(viewHolder-A中的动画触发)
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())
}
}
(B中设置动画)
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
}
}
(两者的主要布局)
<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:background="@drawable/rock_background"
tools:context=".presentation.MainActivity">
如何在转换过程中设置背景?
要么
你知道一些解决方法吗?
谢谢!
设置window使用第二个主题的背景Activity可能会有所帮助。
创建一个 drawable 并将其命名为 background.xml 以设置为第二个 activity 的 window 背景 with shows ,直到加载布局 :-
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimary" />
</layer-list>
下一步是为 styles.xml
中的第二个 activity 创建主题
<style name="Theme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/background</item>
</style>
现在通过设置 android:theme="@style/Theme"
来设置第二个 activity 的主题
清单中 activity 标记内的属性。
希望对您有所帮助。
您好,我是过渡方面的新手。
在过渡期间,您可以看到隐藏的白色背景。
Activity-A --->Activity-B
(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
}
(viewHolder-A中的动画触发)
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())
}
}
(B中设置动画)
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
}
}
(两者的主要布局)
<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:background="@drawable/rock_background"
tools:context=".presentation.MainActivity">
如何在转换过程中设置背景? 要么 你知道一些解决方法吗?
谢谢!
设置window使用第二个主题的背景Activity可能会有所帮助。
创建一个 drawable 并将其命名为 background.xml 以设置为第二个 activity 的 window 背景 with shows ,直到加载布局 :-
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimary" />
</layer-list>
下一步是为 styles.xml
中的第二个 activity 创建主题<style name="Theme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/background</item>
</style>
现在通过设置 android:theme="@style/Theme"
来设置第二个 activity 的主题
清单中 activity 标记内的属性。
希望对您有所帮助。