programing

ProgressDialog는 더 이상 사용되지 않습니다.대체 사용할 수 있는 것은 무엇입니까?

magicmemo 2023. 8. 19. 10:06
반응형

ProgressDialog는 더 이상 사용되지 않습니다.대체 사용할 수 있는 것은 무엇입니까?

나는 우연히 그것을 보게 되었습니다.ProgressDialog이제 더 이상 사용되지 않습니다.그것을 대신하여 무엇을 사용할 수 있습니까?ProgressBar저는 안드로이드 스튜디오 버전 2.3.3을 사용하고 있습니다.

ProgressDialog progressDialog=new ProgressDialog(this);
progressDialog.show();

네에서 인.API level 26더 이상 사용하지 않습니다.대신 다음을 사용할 수 있습니다.progressBar.

프로그래밍 방식으로 작성하기

먼저 루트 레이아웃에 대한 참조를 가져옵니다.

RelativeLayout layout = findViewById(R.id.display);  //specify here Root layout Id

또는

RelativeLayout layout = findViewById(this);

그런 다음 진행률 표시줄을 추가합니다.

progressBar = new ProgressBar(youractivity.this, null, android.R.attr.progressBarStyleLarge);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100, 100);
params.addRule(RelativeLayout.CENTER_IN_PARENT);
layout.addView(progressBar, params);

진행률 표시줄 표시

progressBar.setVisibility(View.VISIBLE);

진행률 표시줄 숨기기

progressBar.setVisibility(View.GONE);

사용자 상호 작용을 비활성화하려면 다음 코드를 추가하면 됩니다.

getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
                           WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

사용자 상호 작용을 되돌리려면 다음 코드를 추가하기만 하면 됩니다.

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

나중에 참조할 수 있도록 다음을 변경합니다.android.R.attr.progressBarStyleSmallandroid.R.attr.progressBarStyleHorizontal.

아래 코드는 위에서만 작동합니다.API level 21

progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));

xml을 통해 생성하기

<ProgressBar
        android:id="@+id/progressbar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:indeterminate="true"
        android:max="100"
        android:backgroundTint="@color/white"
        android:layout_below="@+id/framelauout"
        android:indeterminateTint="#1a09d6"
        android:layout_marginTop="-7dp"/>

활동 중

progressBar = (ProgressBar) findViewById(R.id.progressbar);

진행 표시줄 표시/숨기기가 동일합니다.

 progressBar.setVisibility(View.VISIBLE); // To show the ProgressBar 
 progressBar.setVisibility(View.INVISIBLE); // To hide the ProgressBar

다음은 어떤 모습일지 보여주는 샘플 이미지입니다.

사용할 수 있습니다.AlertDialog~하듯이ProgressDialog아래 코드를 참조하십시오.ProgressDialog진행률 대화 상자를 표시할 때마다 호출해야 하는 기능입니다.

코드:

import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;

import androidx.appcompat.app.AlertDialog;

public class ProgressHelper {

    private static AlertDialog dialog = null;

    public static void showDialog(Context context, String message) {
        if(dialog == null){
            int llPadding = 30;
            LinearLayout ll = new LinearLayout(context);
            ll.setOrientation(LinearLayout.HORIZONTAL);
            ll.setPadding(llPadding, llPadding, llPadding, llPadding);
            ll.setGravity(Gravity.CENTER);
            LinearLayout.LayoutParams llParam = new LinearLayout.LayoutParams(
                    LinearLayout.LayoutParams.WRAP_CONTENT,
                    LinearLayout.LayoutParams.WRAP_CONTENT);
            llParam.gravity = Gravity.CENTER;
            ll.setLayoutParams(llParam);

            ProgressBar progressBar = new ProgressBar(context);
            progressBar.setIndeterminate(true);
            progressBar.setPadding(0, 0, llPadding, 0);
            progressBar.setLayoutParams(llParam);

            llParam = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT);
            llParam.gravity = Gravity.CENTER;
            TextView tvText = new TextView(context);
            tvText.setText(message);
            tvText.setTextColor(Color.parseColor("#000000"));
            tvText.setTextSize(20);
            tvText.setLayoutParams(llParam);

            ll.addView(progressBar);
            ll.addView(tvText);

            AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setCancelable(true);
            builder.setView(ll);

            dialog = builder.create();
            dialog.show();
            Window window = dialog.getWindow();
            if (window != null) {
                WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
                layoutParams.copyFrom(dialog.getWindow().getAttributes());
                layoutParams.width = LinearLayout.LayoutParams.WRAP_CONTENT;
                layoutParams.height = LinearLayout.LayoutParams.WRAP_CONTENT;
                dialog.getWindow().setAttributes(layoutParams);
            }
        }
    }

    public static  boolean isDialogVisible(){
        if(dialog != null){
            return dialog.isShowing();
        }else {
            return false;
        }
    }

    public static  void dismissDialog(){
        if(dialog != null){
            dialog.dismiss();
            dialog = null;
        }
    }
}

출력:

enter image description here

진행 표시줄에 대한 xml 인터페이스를 설계하고 이를 AlertDialog에 보기로 전달한 다음 원하는 때에 대화 상자를 표시하거나 해제할 수 있습니다.

progress.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:padding="13dp"
    android:layout_centerHorizontal="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ProgressBar
        android:id="@+id/loader"
        android:layout_marginEnd="5dp"
        android:layout_width="45dp"
        android:layout_height="45dp" />
    <TextView
        android:layout_width="wrap_content"
        android:text="Loading..."
        android:textAppearance="?android:textAppearanceSmall"
        android:layout_gravity="center_vertical"
        android:id="@+id/loading_msg"
        android:layout_toEndOf="@+id/loader"
        android:layout_height="wrap_content" />

</LinearLayout>

진행률 대화 상자를 표시하는 코드 코드입니다.이 코드를 복사하여 조각을 붙여넣기만 하면 됩니다.

Dialog dialog;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setView(R.layout.progress);
        // This should be called once in your Fragment's onViewCreated() or in Activity onCreate() method to avoid dialog duplicates.
        dialog = builder.create();
    }
    
//   This method is used to control the progress dialog.
      private void setDialog(boolean show){
               if (show)dialog.show();
                    else dialog.dismiss();
           }

그런 다음 진행률 대화 상자를 표시할 때마다 메서드를 호출하고 true를 인수로 전달하여 표시하거나 false를 전달하여 대화 상자를 해제합니다.

이 클래스는 API 수준 26에서 더 이상 사용되지 않습니다.ProgressDialog는 사용자가 앱과 상호 작용할 수 없도록 하는 모달 대화 상자입니다.이 클래스를 사용하는 대신 앱의 UI에 포함될 수 있는 ProgressBar와 같은 진행률 표시기를 사용해야 합니다.또는 알림을 사용하여 작업 진행률을 사용자에게 알릴 수 있습니다. 링크

그것은 사용않습다니지에서 Android OGoogle 표준 새운로 UI 준표

ProgressBar는 매우 간단하고 사용하기 쉬우며, 저는 이것을 간단한 Progress 대화상자와 동일하게 만들려고 합니다.첫 번째 단계는 표시할 대화상자의 xml 레이아웃을 만들 수 있습니다. 이 레이아웃의 이름을 지정합니다.

layout_loading_dialog.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="20dp">
    <ProgressBar
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="4"
        android:gravity="center"
        android:text="Please wait! This may take a moment." />
</LinearLayout>

다음 단계는 진행률 표시줄로 이 레이아웃을 표시하는 AlertDialog를 만드는 것입니다.

AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setCancelable(false); // if you want user to wait for some process to finish,
builder.setView(R.layout.layout_loading_dialog);
AlertDialog dialog = builder.create();

이제 남은 것은 이 대화상자를 보여주고 이와 같은 클릭 이벤트에서 숨기는 것입니다.

dialog.show(); // to show this dialog
dialog.dismiss(); // to hide this dialog

이상으로, 이것은 효과가 있을 것입니다. 보시다시피 ProgressDialog 대신 ProgressBar를 구현하는 것은 매우 간단하고 쉽습니다.이제 처리기 또는 동기화 작업에서 이 대화 상자를 표시/해제할 수 있습니다. 필요에 따라 다릅니다.

예, ProgressDialog는 더 이상 사용되지 않지만 Dialog는 그렇지 않습니다.

텍스트가 파일을 개체로 수 .show()그리고.dismiss() 다음은 예제(Kotlin)입니다.

ProgressDialog 클래스:

class ProgressDialog {
companion object {
    fun progressDialog(context: Context): Dialog{
        val dialog = Dialog(context)
        val inflate = LayoutInflater.from(context).inflate(R.layout.progress_dialog, null)
        dialog.setContentView(inflate)
        dialog.setCancelable(false)
        dialog.window!!.setBackgroundDrawable(
                ColorDrawable(Color.TRANSPARENT))
        return dialog
    }
  }
}

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:background="#fff"
android:padding="13dp"
android:layout_height="wrap_content">
<ProgressBar
    android:id="@+id/progressBar"
    style="?android:attr/progressBarStyle"
    android:layout_width="100dp"
    android:layout_margin="7dp"
    android:layout_height="100dp"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_margin="7dp"
    android:layout_toEndOf="@+id/progressBar"
    android:text="Loading..." />
</RelativeLayout>

코드에서:그냥 해요var dialog = ProgressDialog.progressDialog(context)

: 표시방:dialog.show()

숨기:dialog.dismiss()

사용자 지정 라이브러리를 가져올 필요가 없습니다.

저는 현대적인 것을 선호합니다.AlertDialog그래서 이것은 Kishan Donga가 이 페이지에 올린 훌륭한 답변을 위한 Kotlin 버전입니다.

코틀린 코드:

fun setProgressDialog(context:Context, message:String):AlertDialog {
    val llPadding = 30
    val ll = LinearLayout(context)
    ll.orientation = LinearLayout.HORIZONTAL
    ll.setPadding(llPadding, llPadding, llPadding, llPadding)
    ll.gravity = Gravity.CENTER
    var llParam = LinearLayout.LayoutParams(
                  LinearLayout.LayoutParams.WRAP_CONTENT,
                  LinearLayout.LayoutParams.WRAP_CONTENT)
    llParam.gravity = Gravity.CENTER
    ll.layoutParams = llParam

    val progressBar = ProgressBar(context)
    progressBar.isIndeterminate = true
    progressBar.setPadding(0, 0, llPadding, 0)
    progressBar.layoutParams = llParam

    llParam = LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                        ViewGroup.LayoutParams.WRAP_CONTENT)
    llParam.gravity = Gravity.CENTER
    val tvText = TextView(context)
    tvText.text = message
    tvText.setTextColor(Color.parseColor("#000000"))
    tvText.textSize = 20.toFloat()
    tvText.layoutParams = llParam

    ll.addView(progressBar)
    ll.addView(tvText)

    val builder = AlertDialog.Builder(context)
    builder.setCancelable(true)
    builder.setView(ll)

    val dialog = builder.create()
    val window = dialog.window
    if (window != null) {
        val layoutParams = WindowManager.LayoutParams()
        layoutParams.copyFrom(dialog.window?.attributes)
        layoutParams.width = LinearLayout.LayoutParams.WRAP_CONTENT
        layoutParams.height = LinearLayout.LayoutParams.WRAP_CONTENT
                dialog.window?.attributes = layoutParams
    }
    return dialog
}

용도:

val dialog = setProgressDialog(this, "Loading..")
dialog.show()

출력:

enter image description here

만약 당신이 그들의 뜻을 거스르고 싶다면, 여전히 달콤한 경고 대화상자를 사용하거나 스스로 만들 수도 있습니다.

progress_dialog_layout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TableRow
        android:layout_centerInParent="true"
        android:layout_width="match_parent"
        android:layout_height="64dp" >

        <ProgressBar
            android:id="@+id/progressBar2"
            style="?android:attr/progressBarStyle"
            android:layout_width="wrap_content"
            android:layout_height="match_parent" />

        <TextView
            android:gravity="center|left"
            android:id="@+id/textView9"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:textColor="@color/black"
            android:textSize="18sp"
            android:text="Downloading data. Please wait.." />
    </TableRow>
</RelativeLayout>

Java 코드:

AlertDialog b;
AlertDialog.Builder dialogBuilder;

public void ShowProgressDialog() {
dialogBuilder = new AlertDialog.Builder(DataDownloadActivity.this);
LayoutInflater inflater = (LayoutInflater) getSystemService( Context.LAYOUT_INFLATER_SERVICE );
            View dialogView = inflater.inflate(R.layout.progress_dialog_layout, null);
            dialogBuilder.setView(dialogView);
            dialogBuilder.setCancelable(false);
            b = dialogBuilder.create();
            b.show();
        }

        public void HideProgressDialog(){

            b.dismiss();
        }

ProgressBar는 ProgressDialog의 최상의 대안입니다.작업 진행률을 나타내는 사용자 인터페이스 요소입니다.

자세한 내용은 다음 Google 문서를 참조하십시오. https://developer.android.com/reference/android/widget/ProgressBar.html

설명서 페이지에서 언급한 바와 같이 대안은 다음과 같습니다. ProgressBar.ProgressDialog의 모양은 다음을 배치하여 복제할 수 있습니다.ProgressBar▁an▁into의.AlertDialog.

당신은 여전히 그것을 사용할 수 있지만, 안드로이드는 당신이 그것을 사용하는 것을 원하지 않기 때문에 그것은 사용되지 않습니다.그래서 당신은 당신의 문제를 다른 방법으로 해결하는 것을 고려해야 합니다, 예를 들면, 내장하는 것과 같은.ProgressBar의 신의것에.Layout.

ProgressDialog API 레벨 26에서 더 이상 사용되지 않습니다.

"Deprecated" 새 기능으로 교체하는 중인 기능 또는 요소를 말합니다.

ProgressDialog는 사용자가 앱과 상호 작용할 수 없도록 하는 모달 대화 상자입니다.이 클래스를 사용하는 대신 앱의 UI에 포함될 수 있는 와 같은 진행률 표시기를 사용해야 합니다.

장점

저는 개인적으로 이 ProgressBar두 가지보다 우위에 있다고 말하고 싶습니다. 는 작업의 진행을 나타내는 사용자 인터페이스 요소입니다.사용자에게 진행률 표시줄을 중단 없이 표시합니다.앱의 사용자 인터페이스에 진행률 표시줄을 표시합니다.

가이드가 도움이 될 수도 있습니다.

일반적으로 표시기가 있는 사용자 지정 AlertDialogs를 만드는 것을 선호합니다.앱 뷰의 사용자 정의와 같은 문제를 해결합니다.

그것은 다른 사람들에게 도움이 될 수도 있습니다.

많은 인기 있는 앱들은 네트워크 요청, 파일 로딩 등의 진행 상황을 보여주는 다른 접근 방식을 가지고 있습니다.스피너 로드는 로드되었거나 로드해야 할 콘텐츠의 양을 표시하지 않습니다.UI/UX의 관점에서 볼 때 불확실한 시기가 있습니다.많은 인기 앱(Facebook, Linkedin 등)은 맨본 UI 디스플레이를 먼저 보여줌으로써 이 문제를 해결했습니다.그러면 로드된 콘텐츠가 화면에 점차 채워집니다.

저는 이 문제를 해결하기 위해 제 앱에 시머를 사용했습니다.

다른 사람들에게 이로울 좋은 기사가 있습니다.

저는 https://github.com/Q115/DelayedProgressDialog 의 DelayedProgressDialog를 사용합니다. 필요한 경우 지연의 추가적인 이점이 있는 ProgressDialog와 동일합니다.

Android O: 이전의 ProgressDialog와 유사합니다.

DelayedProgressDialog progressDialog = new DelayedProgressDialog();
progressDialog.show(getSupportFragmentManager(), "tag");

당신은 제가 쓴 이 수업을 사용할 수 있습니다.기본 기능만 제공합니다.전체 기능의 ProgressDialog를 사용하려면 이 경량 라이브러리를 사용합니다.

Gradle 설정

module/build.gradle에 다음 종속성을 추가합니다.

compile 'com.lmntrx.android.library.livin.missme:missme:0.1.5'

어떻게 사용하나요?

사용법이 원래 ProgressDialog와 유사합니다.

ProgressDialog progressDialog = new 
progressDialog(YourActivity.this);
progressDialog.setMessage("Please wait");
progressDialog.setCancelable(false);
progressDialog.show();
progressDialog.dismiss();

NB: 활동을 재정의해야 합니다.onBackPressed()

Java8 구현:

@Override
public void onBackPressed() {
    progressDialog.onBackPressed(
            () -> {
                super.onBackPressed();
                return null;
            }
    );
}

Kotlin 구현:

override fun onBackPressed() {
   progressDialog.onBackPressed { super.onBackPressed() }
}
  • 전체 구현은 샘플참조
  • 전체 설명서는 여기에서 확인할 수 있습니다.

@Han이 제안한 ProgressDialog 클래스의 코틀린 버전입니다.

class ProgressDialog(context: Context) : Dialog(context) {
init {
    val view = View.inflate(context, R.layout.progress_dialog, null)
    setContentView(view)
    setCancelable(false)
    window?.setBackgroundDrawable(
        ColorDrawable(Color.TRANSPARENT)
    )
}

}

이 간단한 속임수를 사용하세요.

//초기화

val dialog : Dialog = Dialog(this)

//레이아웃 설정

dialog.setContentView(R.layout.view_loading)

//대화 상자 표시

dialog.show()

흰색 배경 제거

dialog.window.setbackgroundDrawable(ColorDrawable(0))

Kotlin 및 Androidx DialogFragment를 사용하는 다른 솔루션

DialogFragment를 사용하면 대화 상자를 표시해야 하는 모든 화면에서 매번 창 크기를 조정할 필요가 없으므로 더 깨끗한 솔루션이라고 생각합니다.

  1. 대화 상자 클래스 만들기

class BaseProgressDialog : DialogFragment() {

    companion object {
        const val DIALOG_TAG = "BaseProgressDialogFragment"
    }

    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
        return activity?.let {
            val builder = AlertDialog.Builder(it, R.style.MainAlertDialog)
            val inflater = requireActivity().layoutInflater
            val dialogView = inflater.inflate(R.layout.progress_dialog, null)

            builder.setView(dialogView)
            builder.create()
        } ?: throw IllegalStateException("Activity cannot be null")
    }

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        dialog?.setCanceledOnTouchOutside(false)
        dialog?.setCancelable(false)
        return super.onCreateView(inflater, container, savedInstanceState)
    }

    override fun onResume() {
        super.onResume()
        val size = resources.getDimensionPixelSize(R.dimen.size_80dp)
        dialog?.window?.setLayout(size, size)
    }
}
  1. 스일만에서 스타일 styles.xml
<style name="MainAlertDialog" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="android:windowBackground">@drawable/bg_alert_dialog</item>
</style>
  1. 상자의 만들기 화대상배만들기경bg_alert_dialog.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="?attr/colorSecondary"/>
    <corners android:radius="@dimen/radius_10dp" />
</shape>
  1. progress_dialog.xml
    <LinearLayout 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"
    android:background="@drawable/bg_alert_dialog"
    android:gravity="center"
    android:orientation="vertical"
    android:padding="@dimen/padding_16dp">

    <com.google.android.material.progressindicator.CircularProgressIndicator
        android:layout_width="@dimen/size_40dp"
        android:layout_height="@dimen/size_40dp"
        android:indeterminate="true"
        app:indicatorColor="?attr/colorPrimary" />

</LinearLayout>
  1. 프래그먼트의 통화 대화상자
private var progressDialog = BaseProgressDialog()
activity?.let {
   progressDialog.show(it.supportFragmentManager, BaseProgressDialog.DIALOG_TAG)
}

그리고 다음과 같은 모습이 될 것은 다음과 같습니다.

enter image description here

진행률 대화 상자에서 사용자는 어떤 종류의 작업도 수행할 수 없습니다.진행 대화 상자가 진행되는 동안 모든 백그라운드 프로세스가 중지됩니다.따라서 진행률 대화 상자 대신 진행률 표시줄을 사용하는 것이 좋습니다.

다음은 진행 상태가 불확실한 대화 상자에 대한 내 버전입니다.

layout_loading_dialog.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="horizontal"
    android:padding="20dp">

    <ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dp"
        android:layout_marginRight="10dp"
        android:layout_weight="1" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="4"
        android:gravity="center"
        android:textAlignment="textStart"
        android:id="@+id/message"
        tools:text="Please wait..." />
</LinearLayout>

IndeterminateProgressDialog.kt:

class IndeterminateProgressDialog(context: Context) : AlertDialog(context) {
    private val messageTextView: TextView

    init {
        val view = LayoutInflater.from(context).inflate(R.layout.layout_loading_dialog, null)
        messageTextView = view.findViewById(R.id.message)
        setView(view)
    }

    override fun setMessage(message: CharSequence?) {
        this.messageTextView.text = message.toString()
    }

}

용도:

   val dialog = IndeterminateProgressDialog(context)
                    dialog.setMessage("Please wait...")
                    dialog.setCanceledOnTouchOutside(false)
                    dialog.setCancelable(false)
                    dialog.show()

progress-bar 및 기타 뷰가 있는 xml 파일을 만들고 이 xml 파일 또는 Alertdialog 파생 클래스를 사용하여 파생된 Dialog 클래스 뷰를 확장합니다.이는 다른 솔루션에서 자세히 제공되었습니다.하지만 해결책이나 기존 lib로 가고 싶다면 이 두 가지를 찾았습니다.

  1. https://github.com/Livin21/MissMe

  2. https://github.com/skydoves/ProgressView

이것들은 단지 완벽하고 필요에 따라 두 가지 요점이 있습니다.

다음 링크에서 전체 자습서를 찾을 수 있는 라이브러리 wasabe를 사용하여 SpotDialog를 사용할 수 있습니다.

Android의 Spots 대화 상자 예제

언급URL : https://stackoverflow.com/questions/45373007/progressdialog-is-deprecated-what-is-the-alternate-one-to-use

반응형