로딩바 xml 만들기
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/progress"
android:layout_width="40dp"
android:layout_height="40dp"
android:textSize="50px"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/progress"
android:textColor="@color/white"
app:layout_constraintLeft_toLeftOf="@id/progress"
app:layout_constraintRight_toRightOf="@id/progress"
app:layout_constraintTop_toBottomOf="@id/progress" />
</androidx.constraintlayout.widget.ConstraintLayout>
로딩다이얼로그 만들기
object LoadingDialog {
var dialog: Dialog? = null //obj
fun displayLoadingWithText(context: Context?, text: String?, cancelable: Boolean) {
dialog!!.requestWindowFeature(Window.FEATURE_NO_TITLE)
dialog!!.setContentView(R.layout.layout_loding)
dialog!!.window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
dialog!!.setCancelable(cancelable)
val textView = dialog!!.findViewById<TextView>(R.id.text)
textView.text = text
try {
dialog!!.show()
} catch (e: Exception) {
}
}
fun hideLoading() {
try {
if (dialog != null) {
dialog!!.dismiss()
}
} catch (e: Exception) {
}
}
}
사용하기
override fun showLoading(cancelable: Boolean) {
hideLoading()
LoadingDialog.displayLoadingWithText(this, resources.getString(R.string.network_wait),cancelable)
}
override fun hideLoading() {
LoadingDialog.hideLoading()
}
'프로그래밍 > kotlin' 카테고리의 다른 글
recyclerView Adapter 아이템 클릭 이벤트 Activity로 가져오기 (0) | 2023.05.11 |
---|---|
루팅 체크 ! (0) | 2023.04.03 |
[kotlin]내부저장소 사용하기 (0) | 2023.03.17 |
리사이클러뷰 뷰가 꼬일때 (0) | 2023.01.05 |
[kotlin]Handler deprecated (0) | 2022.11.10 |