文档章节

android常用组件之ProgressBar

sometimesno1
 sometimesno1
发布于 2014/12/21 14:23
字数 485
阅读 110
收藏 5

ProgressBar组件是无法拖动的进度条,他能够显示当前下载进度,他含有一个次进度条,比如播放流媒体时显示的缓冲进度。

该实例是通过四个按键分别控制主进度条和次进度条的增减。

首先上布局文件代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="main.test_progressbar.MainActivity" >

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:max="1000"
        android:progress="300"
        android:secondaryProgress="400"
        android:visibility="visible"
        android:background="#ffffff00" />
        <!-- visibility是设置进度条可见,progress是主进度条并赋初始值为300,secondaryProgress是副进度条赋初始值为400 -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/button1_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/btn1_1" />

        <Button
            android:id="@+id/button1_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/btn1_2" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/button2_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/btn2_1" />

        <Button
            android:id="@+id/button2_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/btn2_2" />

    </LinearLayout>

</LinearLayout>

其次上strings.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Test_ProgressBar</string>
    <string name="btn1_1">主减</string>
    <string name="btn1_2">主增</string>
    <string name="btn2_1">副减</string>
    <string name="btn2_2">副增</string>
        
</resources>

再次上android源码文件:

package main.test_progressbar;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;


public class MainActivity extends ActionBarActivity implements OnClickListener{

    private ProgressBar pBar=null;
    private Button btn1_1=null,btn1_2=null,btn2_1=null,btn2_2=null;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        pBar=(ProgressBar)findViewById(R.id.progressBar1);
        
        btn1_1=(Button)findViewById(R.id.button1_1);
        btn1_2=(Button)findViewById(R.id.button1_2);
        btn2_1=(Button)findViewById(R.id.button2_1);
        btn2_2=(Button)findViewById(R.id.button2_2);
        
        btn1_1.setOnClickListener(MainActivity.this);
        btn1_2.setOnClickListener(MainActivity.this);
        btn2_1.setOnClickListener(MainActivity.this);
        btn2_2.setOnClickListener(MainActivity.this);
        
    }

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        int n = arg0.getId();//获取ID
        switch (n) {//如果是对应ID,则对进度值进行增减调整
        case R.id.button1_1: pBar.incrementProgressBy(-10); break;
        case R.id.button1_2: pBar.incrementProgressBy(10); break;
        case R.id.button2_1: pBar.incrementSecondaryProgressBy(-10); break;
        case R.id.button2_2: pBar.incrementSecondaryProgressBy(10); break;
        default: break;
        }
    }
}

最后是测试结果:

© 著作权归作者所有

sometimesno1
粉丝 1
博文 19
码字总数 8989
作品 0
杭州
程序员
私信 提问
ProgressBar及其子类

ProgressBar也是一组重要的的组件,ProgressBar本身代表了进度条组件,它还派生了两个常用的组件:SeekBar和RatingBar。ProgressBar及其子类在用法上十分相似,只是显示界面有一定的区别。 ...

Fantasy1021
11/02
0
0
Android 在Java代码中设置style属性--使用代码创建ProgressBar对象

强烈推荐: 分享45个android实例源码,很好很强大.大家赶快来收藏吧!! http://www.eoeandroid.com/thread-185986-1-1.html 毕业设计--呕心沥血之作---音乐播放器设计 http://www.eoeandroi...

长平狐
2012/08/21
84
0
Android 在Java代码中设置style属性--使用代码创建ProgressBar对象

强烈推荐: 分享45个android实例源码,很好很强大.大家赶快来收藏吧!! http://www.eoeandroid.com/thread-185986-1-1.html 毕业设计--呕心沥血之作---音乐播放器设计 http://www.eoeandroi...

长平狐
2012/08/14
3.3K
0
android progressbar

=================================================================== Android 在Java代码中设置style属性--使用代码创建ProgressBar对象 在andriod开发中,很大一部分都要与资源打交道,比...

simpower
2014/10/04
48
0
Android组件(三)

Progress(进度条):打开文件等的进度显示,用以给用户提示。其中最常见的两种是“环形进度条”和“水平进度条”。如下图所示: 代码如下: 这里介绍进度条事件的两种方法,一种是Activity直...

晨曦之光
2012/05/16
113
0

没有更多内容

加载失败,请刷新页面

加载更多

thinkcmf 渗透测试漏洞修复解决方案

近段时间发现很多APP程序用的是thinkcmf,此程序源码存在getshell漏洞,我们Sine安全紧急对此高危漏洞进行了分析和漏洞修复,攻击者可以通过构造特定的请求包get请求即可在远程服务器上执行任意...

网站安全
31分钟前
6
0
MySQL的IP地址与数字互转原理

一、inet_aton与inet_ntoa inet_aton是把ip地址转为数字的函数,记忆小技巧,inet表示网络相关,在c语言中a习惯性代表字符串,to就是转换的,n代表数字,aton就是字符串转数字,同理inet_nt...

trayvon
43分钟前
6
0
【翻译】全新16英寸MacBook Pro评测:开发人员的梦想成真

要问现在适合开发者用的笔记本,市面上还是有很多选择的,比如Dell的XPS系列,外星人系列(游戏也是杠杠滴),联想拯救者系列,还有形形色色的高配机型,价格也从几千到几万不等。 但是,笔吧...

Dimple91
44分钟前
8
0
IT兄弟连 HTML5教程 CSS3属性特效 CSS3分栏布局

CSS3中新出现的多列布局(multi-column)是传统HTML网页中块状布局模式的有力扩充。这种新语法能够让WEB开发人员轻松的让文本呈现多列显示。我们知道,当一行文字太长时,读者读起来就比较费劲...

老码农的一亩三分地
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部