File tree Expand file tree Collapse file tree 4 files changed +20
-6
lines changed
java/com/developerbreach/developerbreach/view Expand file tree Collapse file tree 4 files changed +20
-6
lines changed Original file line number Diff line number Diff line change 11package com.developerbreach.developerbreach.view.banner
22
3+ import android.graphics.Color
34import android.os.Bundle
45import android.view.LayoutInflater
56import android.view.View
@@ -8,6 +9,7 @@ import androidx.fragment.app.Fragment
89import androidx.lifecycle.ViewModelProvider
910import androidx.navigation.fragment.findNavController
1011import com.developerbreach.developerbreach.databinding.FragmentBannerBinding
12+ import com.google.android.material.transition.MaterialContainerTransform
1113
1214
1315class BannerFragment : Fragment () {
@@ -19,6 +21,11 @@ class BannerFragment : Fragment() {
1921 val bannerUrlLink = BannerFragmentArgs .fromBundle(requireArguments()).bannerUrlLink
2022 val factory = BannerViewModelFactory (requireActivity().application, bannerUrlLink)
2123 viewModel = ViewModelProvider (this , factory)[BannerViewModel ::class .java]
24+
25+ sharedElementEnterTransition = MaterialContainerTransform ().apply {
26+ this .duration = 300L
27+ this .containerColor = Color .BLACK
28+ }
2229 }
2330
2431 override fun onCreateView (
Original file line number Diff line number Diff line change 11package com.developerbreach.developerbreach.view.detail
22
3+ import android.view.ViewGroup
34import android.widget.Button
45import android.widget.ImageView
56import android.widget.TextView
67import androidx.databinding.BindingAdapter
78import androidx.navigation.findNavController
9+ import androidx.transition.Fade
10+ import androidx.transition.TransitionManager
811import com.bumptech.glide.Glide
912import com.developerbreach.developerbreach.R
1013import com.developerbreach.developerbreach.controller.AppNavDirections
@@ -16,10 +19,12 @@ import com.google.android.material.snackbar.Snackbar
1619fun ImageView.setImageResource (
1720 urlString : String?
1821) {
22+ val imageView = this
1923 Glide .with (this .context).load(urlString).into(this )
2024
2125 this .setOnClickListener {
22- AppNavDirections (findNavController()).detailToBanner(urlString)
26+ TransitionManager .beginDelayedTransition(imageView.rootView as ViewGroup , Fade ())
27+ AppNavDirections (findNavController()).detailToBanner(urlString, this )
2328 }
2429}
2530
Original file line number Diff line number Diff line change 4747 android : contentDescription =" @string/article_image_content_description"
4848 android : fitsSystemWindows =" true"
4949 android : scaleType =" centerCrop"
50+ android : transitionName =" @{viewModel.articleDetailData.banner.toString()}"
5051 app : bindCollapsingBannerImage =" @{viewModel.articleDetailData.banner}"
5152 app : layout_collapseMode =" parallax"
5253 tools : layout_gravity =" center"
53- tools : layout_height =" @dimen/image_size_tools"
54- tools : layout_width =" @dimen/image_size_tools"
55- tools : src =" @drawable/ic_placeholder" />
54+ tools : src =" @drawable/hourglass" />
5655
5756 <androidx .appcompat.widget.Toolbar
5857 android : id =" @+id/detail_fragment_toolbar"
Original file line number Diff line number Diff line change 2323 <com .github.chrisbanes.photoview.PhotoView
2424 android : id =" @+id/banner_full_screen_photo_view"
2525 android : layout_width =" match_parent"
26- android : layout_height =" match_parent "
26+ android : layout_height =" 300dp "
2727 android : contentDescription =" @string/article_banner_image_content_description"
28+ android : transitionName =" @{viewModel.bannerUrl.toString()}"
2829 app : bindBannerWithZoom =" @{viewModel.bannerUrl}"
29- tools : src =" @drawable/ic_placeholder" />
30+ app : layout_constraintBottom_toBottomOf =" parent"
31+ app : layout_constraintTop_toTopOf =" parent"
32+ tools : src =" @drawable/hourglass" />
3033
3134 <ImageView
3235 android : id =" @+id/close_banner_fragment_image_view"
You can’t perform that action at this time.
0 commit comments