summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaisuke Miyakawa <>2009-04-01 19:14:59 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-04-01 19:14:59 -0700
commit196677cf8caf9830760c4ea1e2d3afc42b09cf36 (patch)
tree012e1884bbda9f30e147318879f9f49203616f79
parentde810e407c98808194c04dd16a9cabdd7cec02d1 (diff)
downloadframeworks_base-196677cf8caf9830760c4ea1e2d3afc42b09cf36.zip
frameworks_base-196677cf8caf9830760c4ea1e2d3afc42b09cf36.tar.gz
frameworks_base-196677cf8caf9830760c4ea1e2d3afc42b09cf36.tar.bz2
AI 144181: Modify ProgressDialog class and its xml so that it follows the
Android's UI guide line. This modification is based on leland's mock. See http://b/issue?id=1748136 for more information. Put ProgressNumber left side, next to ProgressPercentage. Make ProgressPercentage Bold. Put ProgressNumber and ProgressPercentage near to the ProgressBar above. This is same as the design of Market application. Enable ProgressDialog change the ProgressNumber format. This is hidden since the interface is premature. BUG=1748136,1612476 Automated import of CL 144181
-rw-r--r--core/java/android/app/ProgressDialog.java24
-rw-r--r--core/res/res/layout/alert_dialog_progress.xml8
2 files changed, 26 insertions, 6 deletions
diff --git a/core/java/android/app/ProgressDialog.java b/core/java/android/app/ProgressDialog.java
index c87e398..bdea069 100644
--- a/core/java/android/app/ProgressDialog.java
+++ b/core/java/android/app/ProgressDialog.java
@@ -21,6 +21,9 @@ import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
+import android.text.Spannable;
+import android.text.SpannableString;
+import android.text.style.StyleSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ProgressBar;
@@ -52,6 +55,7 @@ public class ProgressDialog extends AlertDialog {
private int mProgressStyle = STYLE_SPINNER;
private TextView mProgressNumber;
+ private String mProgressNumberFormat;
private TextView mProgressPercent;
private NumberFormat mProgressPercentFormat;
@@ -121,13 +125,18 @@ public class ProgressDialog extends AlertDialog {
int progress = mProgress.getProgress();
int max = mProgress.getMax();
double percent = (double) progress / (double) max;
- mProgressNumber.setText(progress + "/" + max);
- mProgressPercent.setText(mProgressPercentFormat.format(percent));
+ String format = mProgressNumberFormat;
+ mProgressNumber.setText(String.format(format, progress, max));
+ SpannableString tmp = new SpannableString(mProgressPercentFormat.format(percent));
+ tmp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD),
+ 0, tmp.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ mProgressPercent.setText(tmp);
}
};
View view = inflater.inflate(R.layout.alert_dialog_progress, null);
mProgress = (ProgressBar) view.findViewById(R.id.progress);
mProgressNumber = (TextView) view.findViewById(R.id.progress_number);
+ mProgressNumberFormat = "%d/%d";
mProgressPercent = (TextView) view.findViewById(R.id.progress_percent);
mProgressPercentFormat = NumberFormat.getPercentInstance();
mProgressPercentFormat.setMaximumFractionDigits(0);
@@ -293,6 +302,17 @@ public class ProgressDialog extends AlertDialog {
mProgressStyle = style;
}
+ /**
+ * Change the format of Progress Number. The default is "current/max".
+ * Should not be called during the number is progressing.
+ * @param format Should contain two "%d". The first is used for current number
+ * and the second is used for the maximum.
+ * @hide
+ */
+ public void setProgressNumberFormat(String format) {
+ mProgressNumberFormat = format;
+ }
+
private void onProgressChanged() {
if (mProgressStyle == STYLE_HORIZONTAL) {
mViewUpdateHandler.sendEmptyMessage(0);
diff --git a/core/res/res/layout/alert_dialog_progress.xml b/core/res/res/layout/alert_dialog_progress.xml
index 9279eff..d2bb691 100644
--- a/core/res/res/layout/alert_dialog_progress.xml
+++ b/core/res/res/layout/alert_dialog_progress.xml
@@ -21,7 +21,7 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dip"
- android:layout_marginBottom="12dip"
+ android:layout_marginBottom="1dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_centerHorizontal="true" />
@@ -30,7 +30,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="12dip"
- android:layout_marginLeft="15dip"
+ android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_alignParentLeft="true"
android:layout_below="@id/progress"
@@ -40,9 +40,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="12dip"
- android:layout_marginLeft="10dip"
+ android:layout_marginLeft="50dip"
android:layout_marginRight="15dip"
- android:layout_alignParentRight="true"
+ android:layout_alignParentLeft="true"
android:layout_below="@id/progress"
/>
</RelativeLayout>