我想在android中使用自定义微调器图像来进行dialod我为此目的使用.gif文件,并通过此代码应用它,
dialog = new ProgressDialog(BackupRestoreActivityContext);
dialog.setCancelable(true);
dialog.setIcon(resId);
dialog.setTitle(title);
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.setIndeterminate(true);
dialog.setIndeterminateDrawable(BackupRestoreActivityContext.getResources().getDrawable(R.drawable.bar));
dialog.show();
Run Code Online (Sandbox Code Playgroud)
通过此代码Spinner图像更改为bar.gif但它没有旋转,请帮助我这是错误的,谢谢任何帮助在这方面非常感谢.
我有一个异步任务,它不会在完成任务时添加百分比.它始终保持在0%0/100
这是我的代码
private class getAppInfo extends AsyncTask<String, String, String> {
/** The system calls this to perform work in a worker thread and
* delivers it the parameters given to AsyncTask.execute() */
ProgressDialog dialog;
@Override
protected void onPreExecute() {
if(showLoading == true){
dialog = new ProgressDialog(SelfHelp.this);
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setMessage("Loading");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.setMax(100);
dialog.setProgress(100);
dialog.show();
}
}
@Override
protected String doInBackground(String... urls) {
String xml = null;
int count = 0;
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet …Run Code Online (Sandbox Code Playgroud) 我正在尝试将ProgressDialog移动到我的ActionBar.
我知道如何将它放在动作栏中并为其设置动画(我认为),如下所示:
在progress.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1" >
<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ProgressBar>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
在menu.xml中
<item
android:id="@+id/Refresh"
android:icon="@drawable/ic_menu_refresh"
android:showAsAction="always"
android:title="Refresh"/>
Run Code Online (Sandbox Code Playgroud)
在我的活动中
case R.id.Refresh:
item.setActionView(R.layout.progress);
return true;
Run Code Online (Sandbox Code Playgroud)
这里是我目前的PD(在活动)onPreExecute和onPostExecute我的AsyncTask的:
// Pre
dialog = new MyProgressDialog(---.this);
dialog.show(---.this);
// Post
dialog.dismiss(---.this);
Run Code Online (Sandbox Code Playgroud)
那么如何移动它以便激活操作栏指示器onPreExecute然后停止onPostExecute?
编辑:当你第一次加载一个活动(或做一些需要PD激活的东西)时,我不仅要寻找刷新,而且还要寻找"加载"指示器.它应该默认隐藏.
我已经为进度对话框制作了自定义样式,但它周围有奇怪的边框.
这是主题:
<style name="AppTheme.Dialog" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">@android:color/white</item>
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:background">@color/colorPrimaryDark</item>
<item name="android:popupBackground">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)
任何想法为什么会有如此奇怪的背景?
我正在上传字符串和照片.它的工作正常.现在我想显示进度条,同时上传数据百分比,但百分比显示很快达到100%,并花费更多时间上传,最后进入后执行方法.
protected class upload_images extends AsyncTask<String, Integer, String> {
ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
// showDialog(progress_bar_type);
progressDialog = new ProgressDialog(Accept_Report.this);
progressDialog.setCancelable(false);
// dialog.setCanceledOnTouchOutside(false);
progressDialog.setIndeterminate(false);
// progressDialog.setMax(100);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
// progressDialog.setProgress(0);
progressDialog.setMax(100);
// progressDialog.setMessage("Loading ...");
progressDialog.show();
// ProgressBar progressBar = (ProgressBar)findViewById(R.id.progressBar2);
}
@Override
protected String doInBackground(String... params) {
URL url;
HttpURLConnection connection = null;
String http=Util.URL+"reports/media/create";
try {
url = new URL(http);
connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setRequestMethod("POST");
/* connection.setConnectTimeout(50000);
connection.setReadTimeout(50000);*/
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Content-Language", "en-US");
String encoded = Base64.encodeToString(("app" …Run Code Online (Sandbox Code Playgroud) 我不知道如何定位进度对话框(带有旋转图像的对话框).当我的应用程序开始显示全屏图像和进度对话框时.我需要将进度对话框稍微降低一点.
谢谢Rajesh
我已经在stackoverflow上查看了Android API和其他帖子,但一直无法解决这个问题.
我的应用程序将文件下载到SD卡.我想在文件下载时弹出"加载..."对话框,然后在下载完成后消失.这是我使用android API提出的:
ProgressDialog pd = ProgressDialog.show(this,"","Loading. Please wait...",true);
//download file
pd.cancel();
Run Code Online (Sandbox Code Playgroud)
但是对话框实际上并没有显示.当我调试它时,它声称它正在显示,但它显然不在屏幕上.
我能做什么?
我已经坚持了一段时间.我有一个异步任务,将图像上传到Web服务器.工作良好.
我为此设置了一个进度条对话框.我的问题是如何准确更新进度条.我尝试的所有东西都会导致它从一步到0-100.如果需要5秒或2分钟则无关紧要.上传完成后,栏会挂到0然后点击100.
这是我的doInBackground代码.任何帮助表示赞赏.
编辑:我更新了下面的代码,包括整个AsynchTask
private class UploadImageTask extends AsyncTask<String,Integer,String> {
private Context context;
private String msg = "";
private boolean running = true;
public UploadImageTask(Activity activity) {
this.context = activity;
dialog = new ProgressDialog(context);
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setMessage("Uploading photo, please wait.");
dialog.setMax(100);
dialog.setCancelable(true);
}
@Override
protected void onPreExecute() {
dialog.show();
dialog.setOnDismissListener(mOnDismissListener);
}
@Override
protected void onPostExecute(String msg){
try {
// prevents crash in rare case where activity finishes before dialog
if (dialog.isShowing()) {
dialog.dismiss();
}
} catch (Exception e) {
}
} …Run Code Online (Sandbox Code Playgroud) 我收到此错误:已泄露窗口com.android.internal.policy.impl.PhoneWindow$DecorView@46029dd0最初添加到此处我在模拟器中有网络连接,通过打开网站检查浏览器.
我在processdialog的行中遇到错误.
@SuppressLint("NewApi")
private class TheTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
dialog = ProgressDialog.show(Register.this, "",
"Registering... Please wait...", true);
}
@Override
protected Void doInBackground(Void... params) {
request = new SoapObject(NAMESPACE, METHOD_NAME);
name = new PropertyInfo();
name.setName("Name");
name.setValue(Name);
name.setType(String.class);
request.addProperty(name);
SoapSerializationEnvelope envp = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envp.dotNet = true;
envp.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION, envp);
SoapPrimitive response = (SoapPrimitive) envp.getResponse();
Response = response.toString();
} catch (Exception e) {
textValidation.setText(e.toString());
}
return null; …Run Code Online (Sandbox Code Playgroud) 我有一个带有按钮的Android活动/布局.当我单击此按钮时,它会打开一个带有2个微调器的DialogFragment.当DialogFragment出现时,我需要使用Web服务返回的项填充这两个微调器.因此,在等待服务返回时,我想在我刚刚打开的DialogFragment上显示ProgressDialog.
问题是我似乎无法将ProgressDialog置于DialogFragment之上.我可以看到ProgressDialog显示在DialogFragment后面,是否可以将ProgressDialog显示在其他所有内容上?
我的代码是这样的:
public class RegionalFragment extends DialogFragment {
private View view;
private Activity activity;
private Spinner spinner1;
private Spinner spinner2;
private ProgressDialog progressDialog;
public RegionalFragment(Activity activity) {
this.activity = activity;
LayoutInflater inflater = activity.getLayoutInflater();
view = inflater.inflate(R.layout.spinner_selection, null);
this.progressDialog = new ProgressDialog(activity);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder =
new AlertDialog.Builder(activity)
.setTitle(R.string.title)
.setView(view)
.setPositiveButton(R.string.ok, new MyListener(activity))
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
getDialog().cancel();
}
});
progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(1));
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setCancelable(false);
progressDialog.setIndeterminate(true);
progressDialog.setMessage("Please …Run Code Online (Sandbox Code Playgroud)