android - 开发中进度条的选择
ringa_lee
ringa_lee 2017-04-18 09:16:17
0
4
531

使用Progress控件很方便,但是如果有居中需求的话,某些场景会增加一层布局嵌套
而且每个布局都要书写,很麻烦

而使用ProgressDialog 书写起来很方便,但是某些场景不能很直接的提供正确的上下文.(容器不是activityfragment 时)

各位大哥在实际开发中如何实现进度条的需求的?

//我尝试这样操作的情况,下 在app第一次进入的时候,我点击按钮向容器上添加progressbar的时候,这个progressbar是不会旋转的,卡在界面上
//而关闭这个activity后(app中还有activity存在),再次进入activity 继续添加,这时候progressbar就会旋转了,这是为什么呢?
ProgressBar progressBar = new ProgressBar(this);
ViewGroup decorView = (ViewGroup) getWindow().getDecorView();
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.CENTER);
progressBar.setLayoutParams(layoutParams);
decorView.addView(progressBar);
ringa_lee
ringa_lee

ringa_lee

membalas semua(4)
Peter_Zhu

Saya tidak boleh menawarkan sebarang cadangan yang membina mengenai perkara ini Kadang-kadang untuk menyelamatkan masalah, saya akan menulis antara muka xml untuk ProgressBar, mengembangnya apabila menggunakannya dan memasukkannya terus ke dalam rootView. Jika anda suka, letakkan ini dalam BaseActivity The logik terkandung dalam lapisan lain, supaya ia pada asasnya boleh memenuhi beberapa keperluan mudah.
Untuk menjadikannya lebih rumit, biarkan progressBar berinteraksi dengan operasi pengguna Contohnya, jika antara muka pengeditan mempunyai pintu masuk untuk memuat naik imej, kami boleh menukar kunci hantar ke Widget Kemajuan semasa pengguna menunggu untuk memuat naik. selepas memilih imej , yang bukan sahaja menghalang operasi pengguna tetapi juga mendorong kemajuan dengan berkesan.
Bagi ProgressDialog, saya rasa ia terlalu menyekat Kecuali dalam beberapa senario dengan susunan logik yang kukuh, seperti apabila fail tertentu mesti dimuatkan sebelum meneruskan ke langkah seterusnya, ini biasanya tidak disyorkan.

Ty80

Selagi anda boleh mendapatkan Context, maka teruskan menggunakan ProgressDialog

Ambil Application sebagai contoh:

  1. Tulis Aktiviti sebagai proksi untuk pop timbul Dialog

  2. startActivity(Intent)

Peter_Zhu

Saya sebenarnya lebih berminat dengan persoalan tentang jenis senario "konteks tidak disediakan dengan betul" dalam soalan itu. Apakah senario yang dihadapi oleh penyoal di mana progressbar boleh mendapatkan konteks tetapi progressdialog tidak dapat?

巴扎黑

Jika ia bukan aktiviti atau bekas serpihan, maka bekas itu mesti berada dalam aktiviti atau serpihan apabila ia dicipta
Jika ia tidak, maka bekas induk atau bekas induknya mestilah berada dalam aktiviti atau serpihan. .
Dalam kes ini, maka anda boleh melepasi tahap konteks demi tahap melalui pembina, bukan?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan