iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android中怎么利用ProgressBar实现进度条
  • 133
分享到

Android中怎么利用ProgressBar实现进度条

androidprogressbar 2023-05-30 20:05:35 133人浏览 安东尼
摘要

这篇文章给大家介绍Android中怎么利用ProgressBar实现进度条,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。activity_main.xml<?xml version="1.0&

这篇文章给大家介绍Android中怎么利用ProgressBar实现进度条,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="Http://schemas.android.com/apk/res/android"   xmlns:app="http://schemas.android.com/apk/res-auto"   xmlns:tools="http://schemas.android.com/tools"   android:layout_width="match_parent"   android:layout_height="match_parent"   tools:context="com.amy.processbartest.MainActivity">    <!--水平进度条 -->   <ProgressBar     android:id="@+id/progressBar1"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:max="100"      />    <!-- 圆形进度条 -->   <ProgressBar     android:id="@+id/progressBar2"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     />  </android.support.constraint.ConstraintLayout>

MainActivity.java

package com.amy.processbartest;  import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ProgressBar; import android.widget.Toast;  import static android.R.attr.id;  public class MainActivity extends AppCompatActivity {    //定义水平进度条   private ProgressBar horizonP;   //定义圆形进度条   private ProgressBar circleP;   //完成进度   private int mProcessStatus = 0;   //声明一个用于处理消息的Handler类的对象   private Handler mHandler;       @Override   protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);     horizonP = (ProgressBar) findViewById(R.id.progressBar1);     circleP = (ProgressBar) findViewById(R.id.progressBar2);     mHandler = new Handler(){       @Override       public void handleMessage(Message msg) {         if (msg.what == 0x111) {           horizonP.setProgress(mProcessStatus);//更新进度         } else {           Toast.makeText(MainActivity.this,"耗时操作已经完成",Toast.LENGTH_SHORT).show();           horizonP.setVisibility(View.GoNE);           circleP.setVisibility(View.GONE);         }       }     };      //开个线程用语模拟耗时操作     new Thread(new Runnable() {       @Override       public void run() {         while (true) {           mProcessStatus = doWork();//获取耗时操作完成的百分比           Message msg = new Message();           if (mProcessStatus<100) {             msg.what = 0x111;             mHandler.sendMessage(msg);//发送消息           } else {             msg.what = 0x110;             mHandler.sendMessage(msg);//发送消息             break;           }         }       }       //模拟一个耗时操作       private int doWork() {         mProcessStatus += Math.random()*10;//改变完成进度         try {           Thread.sleep(200);//每隔200毫秒进度改变一次         } catch (InterruptedException e) {           e.printStackTrace();         }         return mProcessStatus;//返回新的进度       }     }).start();//开启一个新的线程    } }

关于Android中怎么利用ProgressBar实现进度条就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Android中怎么利用ProgressBar实现进度条

本文链接: https://www.lsjlt.com/news/220885.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作