Android: show notification bar on downloading application

无人久伴 提交于 2019-12-17 16:43:21

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!