在 Android 应用程序中登录 FTP 服务器时,如何获得加载图标(如运行 rund 的小圆圈)?我知道 中有一个进度条,但只要登录发生AsyncTask
,就想灰显并显示加载图标。MainView (MainActivity)
怎么做?
在 Android 应用程序中登录 FTP 服务器时,如何获得加载图标(如运行 rund 的小圆圈)?我知道 中有一个进度条,但只要登录发生AsyncTask
,就想灰显并显示加载图标。MainView (MainActivity)
怎么做?
如果您希望进度“图标”显示为对话框(活动上方的较小屏幕),您可以使用:http ProgressDialog
: //developer.android.com/reference/android/app/ProgressDialog.html
要使用它:
ProgressDialog pd = new ProgressDialog(this);
pd.setTitle(title);
pd.setMessage(message);
pd.show();
...
pd.dismiss(); //Use it when the task is over
这是它的样子:
如果您只想让您的布局看起来像是已停用,您可以使用 alpha 属性(不透明度)。例如,在我希望布局看起来比平时更暗的应用程序中,我使用:
AlphaAnimation alphaDeselected = new AlphaAnimation(1F, 0.25F);
alphaDeselected.setDuration(0);
view.startAnimation(alphaDeselected);
当然,如果背景很暗,则视图会变暗。
编辑:如何应用它。
我通常在启动 AsyncTask 之前显示 ProgressDialog。
pd = new ProgressDialog(this); // I declared pd as a global variable to access it from AsyncTask
pd.setTitle(title);
pd.setMessage(message);
pd.show();
mAuthTask = new UserLoginTask();
mAuthTask.execute((Void) null);
然后,当 AsyncTask 完成或被取消时,我关闭 ProgressDialog:
public class UserLoginTask extends AsyncTask<Void, Void, Boolean> {
@Override
protected Boolean doInBackground(Void... params) {
...
}
@Override
protected void onPostExecute(final Boolean success) {
pd.dismiss();
...
}
@Override
protected void onCancelled() {
pd.dismiss();
...
}
}