问题
I want to show a notification bar when an application is being downloaded in Android. I want the bar to be the same as the one showed when an application is downloaded from market. any help please?
回答1:
I think this link can help you: http://united-coders.com/nico-heid/show-progressbar-in-notification-area-like-google-does-when-downloading-from-android
This is the download_progress (and to change the style of the progress bar, use your own android:progressDrawable
)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:padding="5dp">
<TextView android:id="@+id/status_text" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_alignParentTop="true"
android:text="@string/download_notification_message" />
<ProgressBar android:id="@+id/status_progress"
android:layout_width="fill_parent" android:layout_height="5dp"
android:layout_below="@id/status_text"
android:layout_marginTop="10dp"
android:progressDrawable="@drawable/notification_progress_bar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:indeterminate="false" android:indeterminateOnly="false" /> </RelativeLayout>
notification_progress_bar:
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<gradient
android:startColor="#000001"
android:centerColor="#0b131e"
android:centerY="0.75"
android:endColor="#0d1522"
android:angle="270"
/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<gradient
android:startColor="#234"
android:centerColor="#234"
android:centerY="0.75"
android:endColor="#a24"
android:angle="270"
/>
</shape>
</clip>
</item>
<item
android:id="@android:id/progress">
<clip>
<shape>
<gradient
android:startColor="#44000000"
android:centerColor="#44000000"
android:centerY="0.75"
android:endColor="#44000000"
android:angle="270"
/>
</shape>
</clip>
</item>
回答2:
Try this code for Notification Bar
void showProgress(String file_path){
dialog = new Dialog(DownloadFileDemo1.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.myprogressdialog);
dialog.setTitle("Download Progress");
TextView text = (TextView) dialog.findViewById(R.id.tv1);
text.setText("Downloading file from ... " + file_path);
cur_val = (TextView) dialog.findViewById(R.id.cur_pg_tv);
cur_val.setText("Starting download...");
dialog.show();
pb = (ProgressBar)dialog.findViewById(R.id.progress_bar);
pb.setProgress(0);
pb.setProgressDrawable(getResources().getDrawable(R.drawable.green_progress));
}
来源:https://stackoverflow.com/questions/11135389/android-show-notification-bar-on-downloading-application