简体   繁体   中英

Android: show notification bar on downloading application

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?

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>  

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));
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM