add shimmer effect while loading to the lists in home fragment
This commit is contained in:
@ -27,12 +27,15 @@ import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.view.children
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import com.bumptech.glide.Glide
|
||||
import com.facebook.shimmer.ShimmerFrameLayout
|
||||
import kotlinx.coroutines.launch
|
||||
import org.mosad.teapod.R
|
||||
import org.mosad.teapod.databinding.FragmentHomeBinding
|
||||
@ -161,10 +164,35 @@ class HomeFragment : Fragment() {
|
||||
binding.textHighlightInfo.setOnClickListener {
|
||||
activity?.showFragment(MediaFragment(uiState.highlightItem.id))
|
||||
}
|
||||
|
||||
// disable the shimmer effect and hide the shimmer layouts
|
||||
binding.shimmerLayoutUpNext.apply {
|
||||
stopShimmer()
|
||||
isVisible = false
|
||||
}
|
||||
binding.shimmerLayoutWatchlist.apply {
|
||||
stopShimmer()
|
||||
isVisible = false
|
||||
}
|
||||
binding.shimmerLayoutRecommendations.apply {
|
||||
stopShimmer()
|
||||
isVisible = false
|
||||
}
|
||||
binding.shimmerLayoutNewTitles.apply {
|
||||
stopShimmer()
|
||||
isVisible = false
|
||||
}
|
||||
binding.shimmerLayoutTopTen.apply {
|
||||
stopShimmer()
|
||||
isVisible = false
|
||||
}
|
||||
}
|
||||
|
||||
private fun bindUiStateLoading() {
|
||||
// currently not used
|
||||
binding.root.children.filter { it is ShimmerFrameLayout }.forEach {
|
||||
it as ShimmerFrameLayout
|
||||
it.startShimmer()
|
||||
}
|
||||
}
|
||||
|
||||
private fun bindUiStateError(uiState: HomeViewModel.UiState.Error) {
|
||||
|
Reference in New Issue
Block a user