`
dengrui0917
  • 浏览: 12664 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

进度条

阅读更多

一个自动义的进度条

首先在”drawable“文件夹下添加两照用于进度条的图片,progress_bar_long.png,progress_bar.png

添加一个xml文件(progress_horizontal.xml)如下:

 

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    
    <item android:id="@android:id/background">
        <shape>
            <corners android:radius="3dip" />
            <gradient
                    android:startColor="#88ffffff"
                    android:centerColor="#889d9e9d"
                    android:centerY="0.75"
                    android:endColor="#88747674"
                    android:angle="270"
            />
        </shape>
    </item>
    
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="3dip" />
                <gradient
                        android:startColor="#80ffd300"
                        android:centerColor="#80ffb600"
                        android:centerY="0.75"
                        android:endColor="#a0ffcb00"
                        android:angle="270"
                />
            </shape>
        </clip>
    </item>
    
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="3dip" />
                <gradient
                  android:drawable="@drawable/progress_bar"
                        android:startColor="#ffdeef73"
                        android:centerColor="#ff7ba608"
                        android:centerY="0.75"
                        android:endColor="#ffe7f79c"
                        android:angle="270"
                />
            </shape>
        </clip>
    </item>
    
</layer-list>
2。在res/layout文件夹下添加main.xml如下
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:gravity="center_horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/music_detail_bg_picture">    
    <RelativeLayout android:id="@+id/main_progressBar"
     android:layout_width="fill_parent"
     android:layout_height="30px"
     android:layout_marginLeft="10px"
     android:layout_marginTop="200px">
     <ProgressBar android:id="@+id/progress_horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:indeterminateOnly="false"
        android:progressDrawable="@drawable/progress_horizontal"
        android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal"
        android:maxHeight="10dip"
        android:minHeight="10dip"
        android:max="100"/>
    </RelativeLayout>
</RelativeLayout>
3.代码
public class MainActivity extends Activity{
 /**
  * 界面
  */
 private View mainView; 
 /**
  * 进度条的进度
  */
 private int progress;
 /**
  * 进度条视图
  */
 private ProgressBar progressBar;
 /**
  * 定时器
  */
 private Timer timer;
 /**
  * 刷新进度条的handler
  */
 protected Handler processhandler = new Handler()
 {
  @Override
  public void handleMessage(Message msg)
  {
   switch (msg.what)
   {
   case 2:
    timer.cancel();
//    Intent intent = new Intent(
//      MainActivity.this.getApplicationContext(),
//      MainSearch.class);
//    startActivity(intent);
//    MainActivity.this.finish();
    break;
   default:
    break;
   }
   super.handleMessage(msg);
  }
 };
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  // 初始化要用的视图
  initViews();
  // 启动定时任务
  startLiveTimer();
 }
 /**
  *  初始化要用的视图   
  */
 private void initViews()
 {
  // 实例化一个定时器
  timer = new Timer();
  // 获得显示广告界面的View
  mainView = View.inflate(this, R.layout.main, null);
  // 获得显示进度条的view
  progressBar = (ProgressBar) mainView
    .findViewById(R.id.progress_horizontal);
  setContentView(mainView);
 }

 /**
  * 启动发送live请求的定时器
  */
 public void startLiveTimer()
 {
  // 构造一个定时器任务对象
  TimerTask changeTask = new TimerTask()
  {
   /**
    * 定时器任务的执行体
    */
   public void run()
   {
    progress++;
    // 当加载进度小于100%的时候进行的操作
    if (progress > 0 && progress < 100)
    {
     progressBar.setProgress(progress);
    }
    // 当加载完成时进行的操作
    else if (progress >= 100)
    {
     progressBar.setProgress(progress);
     processhandler.sendMessage(processhandler.obtainMessage(
       2, null));
    }
   }
  };
  // 启动定时器
  timer.schedule(changeTask, 100, 100);
 }
}


  


  
2
4
分享到:
评论

相关推荐

    渐变进度条 美化进度条

    在UI设计中,进度条是常见的一种用户界面元素,它用于指示某个操作的进度或状态。"渐变进度条 美化进度条"这个主题着重于如何通过使用渐变色彩来提升进度条的视觉效果,使其看起来更加美观且舒适。渐变色的设计不仅...

    DataGridView进度条 DataGridView进度条 C#

    在处理大量数据或者执行耗时操作时,为用户提供一个进度条是非常有用的,可以提高用户体验,显示数据加载或处理的状态。本文将详细介绍如何在C#中为`DataGridView`添加进度条功能。 首先,我们需要引入`ProgressBar...

    读取进度条_labview界面中读取进度条_

    在LabVIEW编程环境中,创建和实现“读取进度条”是一项关键任务,它能为用户提供一个可视化指示,显示程序执行的进度,特别是在处理耗时较长的操作时,如数据读写、计算或通信等。本教程将深入探讨如何在LabVIEW界面...

    80个GIF进度条,漂亮的动态加载进度条

    在网页设计和用户体验领域,动态加载进度条是一个重要的元素,它能够向用户显示数据或内容正在加载的过程,提高用户对系统响应的认知,并提供更舒适的等待体验。标题提到的"80个GIF进度条"是一套丰富的资源集合,...

    C#自定义进度条大全

    在C#编程中,自定义进度条是一种常见且实用的需求,它可以为用户提供视觉反馈,显示应用程序执行任务的进度。本文将深入探讨如何在C#中实现各种自定义进度条,包括圆滑的、多边形的等不同设计样式,并提供相关的控件...

    无尽的进度条3.0

    "无尽的进度条3.0"是一款专为用户界面设计打造的动态进度条效果工具。这个工具可能被开发者或设计师用于创建具有视觉吸引力的、持续不断的加载效果,以提高用户体验。在某些应用中,例如数据加载、上传或下载过程中...

    WPF实现的圆形进度条

    在Windows Presentation Foundation(WPF)中,开发人员可以利用丰富的图形功能来创建各种自定义控件,其中之一就是圆形进度条。这种控件通常用于显示任务的进度,它以环形的方式展示,既美观又直观。在本文中,我们...

    C#winform 自定义控件实现圆形进度条和环形进度条控件

    本项目专注于创建两种特殊的进度条控件:圆形进度条和环形进度条,这些控件适用于展示任务或进程的进度,视觉效果独特,能吸引用户注意力。通过VS2017开发,它们可以直接在WinForm应用中编译并运行,为用户提供实时...

    带有文本的进度条

    在Android开发中,进度条(Progress Bar)是一种常见的UI组件,用于显示某个操作的进度或者加载状态。在标题“带有文本的进度条”中提到的,这种进度条不仅具有显示进度的功能,还能够结合文本内容,提供更丰富的...

    NC65进度条功能.rar

    在IT行业中,尤其是在软件开发领域,进度条是一个非常常见的用户界面元素,它为用户提供了一种可视化的方式来了解某个任务的执行进度。在这个名为“NC65进度条功能.rar”的压缩包中,我们关注的是如何在NC65环境中...

    C#进度条 不假死的进度条

    用两个方法实现进度条,切换,最小化恢复窗口,进度条正常,不假死!请用Microsoft Visual Studio 2008打开,或先执行EXE看看是否是自己需要的! 注: 下载资源时,看清楚此文档说明,我不是为了积分而放在这里,我...

    QT实现的特色进度条

    QT实现的特色进度条是一种在GUI(图形用户界面)应用中提供反馈的创新方式,它模仿了地铁站的进度灯效果,为用户提供一种视觉上吸引人的进度指示。Qt是一个跨平台的C++库,用于创建桌面、移动以及嵌入式设备上的应用...

    12款进度条脚本demo

    在网页设计和开发中,进度条是一个非常重要的交互元素,它能够给用户反馈操作的状态,如文件上传、数据加载或任务执行的进度。本资源"12款进度条脚本demo"显然是一份集合了多种进度条实现方式的示例集,主要关注CSS...

    C#winform条形方格进度条,横竖进度条

    本文将深入探讨如何实现一个自定义的条形方格进度条,包括横置和竖置两种显示方式,并允许用户自定义底色、进度颜色、是否显示进度值以及字体大小。这个控件是基于GDI+图形接口进行绘制的,具有高度的灵活性和可定制...

    易语言更改进度条颜色

    在编程领域,进度条是一种常见的用户界面元素,用于表示任务执行的进度,为用户提供操作反馈。易语言(E语言)是中国本土开发的一种简单易学的编程语言,它以直观的汉字作为关键字,使得非计算机专业人员也能快速...

    BAT批处理脚本-提示窗口进度条-娱乐进度条.cmd.zip

    标题中的“BAT批处理脚本-提示窗口进度条-娱乐进度条.cmd.zip”指的是一个包含批处理脚本的压缩文件,主要用于在Windows操作系统中展示一个带有进度条的提示窗口。批处理脚本(BAT)是基于DOS或Windows环境下的一种...

    winform竖向进度条

    在Windows Forms(WinForm)开发中,用户界面的构建是至关重要的,而进度条控件是一种常见的元素,用于展示任务的执行进度。在传统的WinForm应用中,进度条通常是水平显示的,但有时为了满足界面设计的需求或者提高...

    Android 电池电量进度条,上下滚动图片的进度条(battery)

    Android SDK 提供了多种类型的进度条,包括HorizontalProgressBar(水平进度条)和CircularProgressBar(圆形进度条)。在这个场景下,我们可以选择自定义一个水平进度条,通过改变其高度来模拟上下滚动的效果。 1....

    c++ MP3播放器进度条创建

    ### C++ MP3播放器进度条创建 #### 知识点概述 本文旨在介绍如何在C++环境下,特别是在Microsoft Visual C++(以下简称VC++)中使用MFC框架创建MP3播放器的进度条。进度条作为一种重要的用户界面元素,不仅能够...

    c# 进度条(进度条具有渐变色)

    在C#编程中,创建一个具有渐变色的自定义进度条可以提升用户界面的美观性和用户体验。渐变色进度条不仅能够展示进度,还能通过颜色的变化为用户提供更直观的反馈。下面我们将深入探讨如何利用C#实现这样一个功能,并...

Global site tag (gtag.js) - Google Analytics