File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package com.zero.devbase
22
3- import android.util.Log
43import com.zero.devbase.databinding.ActivityMainBinding
5- import com.zero.zerobase.presentation.utils.toast
64import com.zero.zerobase.presentation.viewbinding.BaseActivity
7- import com.zero.zerobase.ui.LoadingDialog
5+ import com.zero.zerobase.ui.loading.LoadingFullScreenDialog
86
97class MainActivity : BaseActivity <ActivityMainBinding >() {
108
119 override fun initUI () {
1210 super .initUI()
13- loadingDialog .show()
11+ binding.loadingView .show()
1412 }
1513 override fun initData () {
1614 super .initData()
Original file line number Diff line number Diff line change 77 tools : context =" .MainActivity" >
88
99 <TextView
10+ android : id =" @+id/textView"
1011 android : layout_width =" wrap_content"
1112 android : layout_height =" wrap_content"
1213 android : text =" Hello World!"
1516 app : layout_constraintStart_toStartOf =" parent"
1617 app : layout_constraintTop_toTopOf =" parent" />
1718
19+ <com .zero.zerobase.ui.loading.ZeroLayoutLoading
20+ android : id =" @+id/loadingView"
21+ android : layout_width =" match_parent"
22+ android : layout_height =" 0dp"
23+ app : layout_constraintBottom_toBottomOf =" parent"
24+ app : layout_constraintEnd_toEndOf =" parent"
25+ app : layout_constraintStart_toStartOf =" parent"
26+ app : layout_constraintTop_toBottomOf =" @+id/textView" />
27+
1828</androidx .constraintlayout.widget.ConstraintLayout>
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ package com.zero.zerobase.presentation.viewbinding
33import android.os.Bundle
44import androidx.appcompat.app.AppCompatActivity
55import com.zero.zerobase.presentation.utils.getBinding
6- import com.zero.zerobase.ui.LoadingDialog
6+ import com.zero.zerobase.ui.loading. LoadingDialog
77
88abstract class BaseActivity <T : androidx.viewbinding.ViewBinding > : AppCompatActivity () {
99 val binding by lazy { getBinding() }
Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ import android.view.View
66import android.view.ViewGroup
77import com.google.android.material.bottomsheet.BottomSheetDialogFragment
88import com.zero.zerobase.presentation.utils.getBinding
9- import com.zero.zerobase.ui.LoadingDialog
9+ import com.zero.zerobase.ui.loading. LoadingDialog
1010
1111abstract class BaseBottomSheetFragment <T : androidx.viewbinding.ViewBinding > : BottomSheetDialogFragment () {
1212 val binding by lazy { getBinding() }
Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ import android.view.View
66import android.view.ViewGroup
77import androidx.fragment.app.Fragment
88import com.zero.zerobase.presentation.utils.getBinding
9- import com.zero.zerobase.ui.LoadingDialog
9+ import com.zero.zerobase.ui.loading. LoadingDialog
1010
1111abstract class BaseFragment <T : androidx.viewbinding.ViewBinding > : Fragment () {
1212 val binding by lazy { getBinding() }
Original file line number Diff line number Diff line change 1- package com.zero.zerobase.ui
1+ package com.zero.zerobase.ui.loading
22
33import android.app.Dialog
44import android.content.Context
Original file line number Diff line number Diff line change 1+ package com.zero.zerobase.ui.loading
2+
3+ import android.app.Dialog
4+ import android.content.Context
5+ import android.os.Bundle
6+ import android.view.LayoutInflater
7+ import android.view.Window
8+ import com.zero.zerobase.databinding.DialogFullscreenLoadingBinding
9+ import com.zero.zerobase.databinding.DialogLoadingBinding
10+
11+ class LoadingFullScreenDialog (context : Context , private val cancelable : Boolean = false ) : Dialog(context) {
12+
13+ private lateinit var binding: DialogFullscreenLoadingBinding
14+
15+ override fun onCreate (savedInstanceState : Bundle ? ) {
16+ super .onCreate(savedInstanceState)
17+ requestWindowFeature(Window .FEATURE_NO_TITLE )
18+
19+ binding = DialogFullscreenLoadingBinding .inflate(LayoutInflater .from(context))
20+ setContentView(binding.root)
21+
22+ setCancelable(cancelable)
23+ setCanceledOnTouchOutside(false )
24+
25+ window?.setBackgroundDrawableResource(android.R .color.transparent)
26+ }
27+ }
Original file line number Diff line number Diff line change 1+ package com.zero.zerobase.ui.loading
2+
3+ import android.app.DatePickerDialog
4+ import android.content.Context
5+ import android.util.AttributeSet
6+ import android.view.LayoutInflater
7+ import android.widget.LinearLayout
8+ import com.zero.zerobase.databinding.LayoutLoadingBinding
9+ import java.text.SimpleDateFormat
10+ import java.util.Calendar
11+ import java.util.Locale
12+ import java.util.TimeZone
13+
14+ class ZeroLayoutLoading @JvmOverloads constructor(
15+ context : Context ,
16+ attrs : AttributeSet ? = null ,
17+ defStyleAttr : Int = 0
18+ ) : LinearLayout(context, attrs, defStyleAttr) {
19+
20+ private val binding: LayoutLoadingBinding = LayoutLoadingBinding .inflate(
21+ LayoutInflater .from(context), this
22+ )
23+
24+ private var isLoading: Boolean = false
25+
26+ init {
27+ binding.root.visibility = GONE
28+ }
29+
30+ fun show () {
31+ isLoading = true
32+ binding.root.visibility = VISIBLE
33+ }
34+
35+ fun hide () {
36+ isLoading = false
37+ binding.root.visibility = GONE
38+ }
39+ }
Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" utf-8" ?>
2+ <RelativeLayout xmlns : android =" http://schemas.android.com/apk/res/android"
3+ android : layout_width =" match_parent"
4+ android : layout_height =" match_parent"
5+ xmlns : app =" http://schemas.android.com/apk/res-auto"
6+ android : id =" @+id/loading_container" >
7+
8+
9+ <com .airbnb.lottie.LottieAnimationView
10+ android : id =" @+id/animationView"
11+ android : layout_width =" 70dp"
12+ android : layout_height =" 70dp"
13+ android : layout_centerInParent =" true"
14+ app : lottie_rawRes =" @raw/loading_animation"
15+ app : lottie_autoPlay =" true"
16+ app : lottie_loop =" true" />
17+
18+
19+ </RelativeLayout >
Original file line number Diff line number Diff line change 1+ <!-- res/layout/custom_date_range_view.xml -->
2+ <merge xmlns : android =" http://schemas.android.com/apk/res/android"
3+ xmlns : app =" http://schemas.android.com/apk/res-auto" >
4+ <LinearLayout
5+ android : layout_width =" match_parent"
6+ android : layout_height =" match_parent"
7+ android : gravity =" center" >
8+
9+ <com .airbnb.lottie.LottieAnimationView
10+ android : id =" @+id/animationView"
11+ android : layout_width =" 70dp"
12+ android : layout_height =" 70dp"
13+ app : lottie_rawRes =" @raw/loading_animation"
14+ app : lottie_autoPlay =" true"
15+ app : lottie_loop =" true" />
16+
17+ </LinearLayout >
18+ </merge >
You can’t perform that action at this time.
0 commit comments