ProgressBar样式总结与自动填充方法(代码)

有时候开发的时候需要用一个进度条告知用户目前正在运行一个耗时操作,但是并不需要明确知道某个value来setProgress,所以就可以自定义一个时间和进度让进度条自动运行了。

下面是代码:

 Handler mHandler=new Handler(){

        @Override
        public void handleMessage(Message msg) {

            p.setProgress(msg.what);
            mHandler.post(updateThread);//实现连续过程
        }

    };
    Runnable updateThread=new Runnable() {
        int i=0;
        @Override
        public void run() {

            Message m=Message.obtain();
            if(i<70){
                i=i+2;
            }

               m.what=i;
                try {
                 Thread.sleep(1);//间隔时间
             } catch (InterruptedException e) {

                 e.printStackTrace();
             }
                mHandler.sendMessage(m);
                if(i==70)
                {
                   mHandler.removeCallbacks(updateThread);
return;//退出
                }
            }
        }
    ;

普通圆形ProgressBar该类型进度条也就是一个表示运转的过程,例如发送短信,连接网络等等,表示一个过程正在执行中。一般只要在XML布局中定义就可以了。

<progressBar android:id="@+id/widget43"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center_vertical">
</ProgressBar>

此时,没有设置它的风格,那么它就是圆形的,一直会旋转的进度条。

各大小样式圆形ProgressBar

超大号圆形ProgressBar

此时,给设置一个style风格属性后,该ProgressBar就有了一个风格,这里大号ProgressBar的风格是:

style="?android:attr/progressBarStyleLarge"

完整XML定义是:

<progressBar android:id="@+id/widget196"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      style="?android:attr/progressBarStyleLarge">
</ProgressBar>

小号圆形ProgressBar

小号ProgressBar对应的风格是:

style="?android:attr/progressBarStyleSmall"

完整XML定义是:

<progressBar android:id="@+id/widget108"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      style="?android:attr/progressBarStyleSmall">
</ProgressBar>

标题型圆形ProgressBar

标题型ProgressBar对应的风格是:

style="?android:attr/progressBarStyleSmallTitle"

完整XML定义是:

<progressBar android:id="@+id/widget110"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="?android:attr/progressBarStyleSmallTitle">
</ProgressBar>

代码中实现:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        //请求窗口特色风格,这里设置成不明确的进度风格
        setContentView(R.layout.second);
        setProgressBarIndeterminateVisibility(true);
        //设置标题栏中的不明确的进度条是否可以显示
    }

长形进度条

布局中的长形进度条

首先在XML进行布局

<progressBar android:id="@+id/progressbar_updown"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_gravity="center_vertical"
        android:max="100"
        android:progress="50"
        android:secondaryProgress="70"    >

讲解:

style="?android:attr/progressBarStyleHorizontal"    设置风格为长形 
android:max="100"    最大进度值为100
android:progress="50"   初始化的进度值
android:secondaryProgress="70"  初始化的底层第二个进度值 
android:layout_gravity="center_vertical"    垂直居中

代码中运用

private ProgressBar myProgressBar;
//定义ProgressBar
myProgressBar = (ProgressBar) findViewById(R.id.progressbar_updown);
//ProgressBar通过ID来从XML中获取
myProgressBar.incrementProgressBy(5);
//ProgressBar进度值增加5
myProgressBar.incrementProgressBy(-5);
//ProgressBar进度值减少5
myProgressBar.incrementSecondaryProgressBy(5);
//ProgressBar背后的第二个进度条 进度值增加5
myProgressBar.incrementSecondaryProgressBy(-5);
//ProgressBar背后的第二个进度条 进度值减少5

页面标题中的长形进度条

代码实现:

①先设置一下窗口风格特性

requestWindowFeature(Window.FEATURE_PROGRESS);
//请求一个窗口进度条特性风格
setContentView(R.layout.main);
setProgressBarVisibility(true);
//设置进度条可视

②然后设置进度值

setProgress(myProgressBar.getProgress() * 100);
//设置标题栏中前景的一个进度条进度值
setSecondaryProgress(myProgressBar.getSecondaryProgress() * 100);
//设置标题栏中后面的一个进度条进度值
//ProgressBar.getSecondaryProgress() 是用来获取其他进度条的进度值

ProgressBar样式总结与自动填充方法(代码),布布扣,bubuko.com

时间: 2024-10-09 23:17:33

ProgressBar样式总结与自动填充方法(代码)的相关文章

EXCEL快速自动填充方法集锦

EXCEL快速自动填充方法集锦 原文地址,转载请注明:http://www.cnblogs.com/croso/p/5396841.html 方法一: 名称框输入a1:a1000回车,1, ctrl+回车,单击A1,双击填充柄,“自动填充选项”--“填充序列” 方法二: 先在A1输入需填充的内容,然后点右上角的填充按钮,点击“系列”选项,输入终止值 方法三: 编辑 定位 输入需要输入数据的最后一个单元格的位置ctrl ↑(方向键的上箭头) 编辑栏输入公式=MOD(ROW()-1,2)+1按ctr

easyui的combobox的自动填充方法

HTML代码: <select id="LogType" name="LogType" class="easyui-combobox" style="width: 157px;" required="false" missingmessage="请选择" data-options="panelHeight:'auto',method: 'get',valueField:

Chrome表单文本框自动填充黄色背景色样式

开发后台管理系统或 网站时,使用谷歌的Chrome浏览器访问网页中表单,文本框背景色自动填充为黄色.这个问题在网络上其实早已经是老生常谈了,今天正巧我要处理这个问 题,把之前查阅的一些资料和自己解决这个问题的方法纪录在此,一是为大家遇到此问题时提供一份资料,二是作为自己的笔记.过多的话就不多说了,下面进入正 题. 一.首先介绍一下我遇到这个问题时文本框的样式情况:  上图为Chrome浏览器为表单中的文本框自动填充黄色背景色的样子, 我自己为文本框加的,获得焦点后,周围有蓝色阴影. <input

chrome浏览器当表单自动填充时,怎么去除浏览器自动添加的默认样式。

参考blog来自 http://segmentfault.com/q/1010000000671971 chrome浏览器当表单自动填充时,怎么去除浏览器自动添加的默认样式. 一.发现该问题的原因-是在写账号登录页面时,input表单添加了背景图片,当自动填充,搓搓的一坨淡黄色背景出来. 这个原因是我草率的直接设置在input元素里面,结果问题就来了.所以如果把这个图标放在input表单外面,就不会出现这个问题. 二.表单自动填充会添加浏览器默认样式怎么处理和避免 第二张图,就是表单自动填充后,

前端开发入门到实战:css实现修改浏览器自动填充表单的默认样式

当表单中存在input[password]的时候,采用submit方式提交.就会触发浏览器自动填充表单.比如chrome自动填充后,淡×××输入框代替了背景样式,看起来有些怪异. ?那么如何通过css实现取消浏览器自动填充表单的默认样式呢? 解决方法一: 当input文本框是纯色背景的,可以对input:-webkit-autofill使用足够大的纯色内阴影来覆盖input输入框的×××背景:如: input:-webkit-autofill { -webkit-box-shadow: 0 0

web前端入门到实战:css实现修改浏览器自动填充表单的默认样式

当表单中存在input[password]的时候,采用submit方式提交.就会触发浏览器自动填充表单.比如chrome自动填充后,淡慌色输入框代替了背景样式,看起来有些怪异. 那么如何通过css实现取消浏览器自动填充表单的默认样式呢? 解决方法一: 当input文本框是纯色背景的,可以对input:-webkit-autofill使用足够大的纯色内阴影来覆盖input输入框的慌色背景:如: web前端开发学习Q-q-u-n: 767273102 ,分享学习的方法和需要注意的小细节,不停更新最新

一行代码,阻止浏览器自动填充密码

使用Chrome.Firefox,还有360和搜狗等浏览器,在某个网站进行提交表单的操作时,浏览器会提示是否保存密码 如果选择了保存密码,之后在浏览这个网站的任何一个有密码输入框的的表单时,浏览器会把上次保存过的账号和密码自动填入到表单中,输入框的背景变成黄色 只是登录页面自动填充的话倒没有什么问题,但是网站任何一个地方的表单都会自动填充,这就会带来很多不必要的麻烦,比如注册页面:如果表单涉及到资金方面的数据提交,可能会给用户不安全的感觉.       如果你是一个前端工程师,可能会想屏蔽浏览器

Button 文字阴影,自定义图片,代码绘制样式,添加音效的方法

1.Button自己在xml文件中绑定监听器 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&qu

Google Test(GTest)使用方法和源码解析——参数自动填充技术分析和应用

在我们设计测试用例时,我们需要考虑很多场景.每个场景都可能要细致地考虑到到各个参数的选择.比如我们希望使用函数IsPrime检测10000以内字的数字,难道我们要写一万行代码么?(转载请指明出于breaksoftware的csdn博客) EXPECT_TRUE(IsPrime(0)); EXPECT_TRUE(IsPrime(1)); EXPECT_TRUE(IsPrime(2)); ...... EXPECT_TRUE(IsPrime(9999)); 这种写法明显是不合理的.GTest框架当然