当我在 Android 应用程序中登录 FTP 服务器时,如何获得加载图标(如运行的小圆圈)?我知道 AsyncTask
中有一个进度条,但想在登录时将 MainView (MainActivity)
变灰并显示一个加载图标。
怎么做?
最佳答案
如果您希望进度“图标”显示为对话框( Activity 上方的较小屏幕),您可以使用 ProgressDialog
:http://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);
当然,如果背景较暗, View 会变暗。
编辑:如何应用它。
我通常在启动 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();
...
}
}
关于java - 在 Android 应用程序中登录 FTP 时加载图标(进度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16957284/