SeekBar与ProgressBar

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"
      android:orientation="vertical"
    tools:context="com.example.progressbar.MainActivity" >
    <!-- progressBar 进度条
            分为圆形进度条和水平进度条
            圆形进度条又分为小,中,大型进度条
        属性:
        style 指定进度条的类型,有如下值:
        @android:style/Widget.ProgressBar.Small    小圆型进度条
        @android:style/Widget.ProgressBar        中圆型进度条
        @android:style/Widget.ProgressBar.Large 大圆型进度条
        @android:style/Widget.ProgressBar.Horizontal 水平进度条
         -->
    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
           style="@android:style/Widget.ProgressBar.Small" />
    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
           style="@android:style/Widget.ProgressBar" />
    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
           style="@android:style/Widget.ProgressBar.Large" />
    <!-- 水平进度条的属性
            android:max 最大值
            android:progress 当前值 -->
    <ProgressBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/progressBar"
           android:max="100"
           android:progress="10"
           style="@android:style/Widget.ProgressBar.Horizontal" />

    <SeekBar
        android:id="@+id/seekBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"/>

</LinearLayout>

源代码:

package com.example.progressbar;

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ProgressBar;
import android.widget.SeekBar;

public class MainActivity extends Activity {
    ProgressBar progressBar;
    SeekBar seekBar;
    private int progress;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        progressBar = (ProgressBar) findViewById(R.id.progressBar);
        progressBar.setProgress(progress);
        //创建定时器
        Timer timer = new Timer();
        //设置定时器的任务
        //参数一:时间到的时候执行的任务
        //参数2:第一次延迟多久后执行任务(单位:ms)
        //参数3:每隔多久执行一次任务(单位:ms)
        TimerTask task = new MyTimerTask();
        timer.schedule(task,3000,1000);
        //获取拖动条
        seekBar = (SeekBar) findViewById(R.id.seekBar);
        //给拖动条添加拖动事件
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            //停止拖动时调用
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
                Log.i("MainActivity", "停止拖动");
            }
            //开始拖动时调用
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub

            }
            //正在拖动时调用
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                // TODO Auto-generated method stub

            }
        });
    }

    public class MyTimerTask extends TimerTask{

        @Override
        public void run() {
            // TODO Auto-generated method stub
            progress += 5;
            if(progress >= progressBar.getMax()){
                progress = progressBar.getMax();
            }
            progressBar.setProgress(progress);
        }

    }

}
时间: 2025-01-02 17:50:28

SeekBar与ProgressBar的相关文章

【转】 为SeekBar滑块设置固定值以及自定义Seekbar,progressbar样式--不错

原文网址:http://blog.csdn.net/jdsjlzx/article/details/7804080 最近在项目中使用到了seekbar和progressbar,且必须按照设计要求来进行设置,如下图.要实现这个效果就必须对这两个控件进行自定义.  一,SeekBar     一开始要实现这个效果参考网上的自定义方法根本无法达到这个效果,没办法只能投机取巧了. 1,背景刻度的图片我是用了一个ImageView,然后在ImageView上放一个SeekBar.因为是个定制的平板应用,分

android用ProgressBar实现百分比的显示

显示水平进度条我想到的有两种:seekBar和ProgressBar,这两种都可以显示进度,最明显的区别是seekbar是可以用手拖动的,比如,应用程序中用户可以对音效进行控制,对音乐的播放进度进行控制,等等,都可以使用拖动条来实现 需要实现一个投票百分比的进度条: progressbar布局: 其中background指的是进度条背景是灰色的背景 style中是progressbar的一些属性 <style name="StyleProgressBar" parent=&quo

用SeekBar控制图片的透明度

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" a

Android基础控件SeekBar拖动条的使用

1.简介 SeekBar继承ProgressBar,相关属性和三种不同状态下的触发方法: <!--<SeekBar--> <!--android:layout_width="match_parent"--> <!--android:layout_height="wrap_content"--> <!--android:max="100"--> <!--android:progress=&

Android 你不可不看的命名规范

标识符命名法最要有四种: Camel(骆驼)命名法:除首单词外,其余所有单词的第一个字母大写,如:fooBar; Pascal命名法:所有单词的第一个字母大写,如:FooBar: 下划线命名法:单词与单词间用下划线做间隔,如:foo_bar; 匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量,首字母小写说明该变量的类型. 量的取名方式为:scope_ prefix_qualifier 范围前缀,类型前缀,限定词,如:g_foo_bar; 安卓App层开发主要是Java语言,所

Android开发必备:命名规范

标识符命名法最要有四种: Camel(骆驼)命名法:除首单词外,其余所有单词的第一个字母大写,如:fooBar; Pascal命名法:所有单词的第一个字母大写,如:FooBar: 下划线命名法:单词与单词间用下划线做间隔,如:foo_bar; 匈牙利命名法:广泛应用于微软编程环境中,在以Pascal命名法的变量,首字母小写说明该变量的类型. 量的取名方式为:scope_ prefix_qualifier 范围前缀,类型前缀,限定词,如:g_foo_bar; 安卓App层开发主要是Java语言,所

Android 中常见控件的介绍和使用

1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.lang.Object   ? android.view.View   ? android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextV

初识RatingBar

RatingBar,SeekBar和ProgressBar的子类 1 <RatingBar 2 android:id="@+id/ratingBar2" 3 android:layout_width="wrap_content" 4 android:layout_height="wrap_content" 5 android:numStars="6" 6 android:rating="1.5" 7

Android星星评分控件RatingBar的使用

在Android的开发中,有一个叫做评分控件RatingBar,我们可以使用该控件做等级划分.评分等作用,星星形状显示,也可以半星级别,我们来看一下评分控件如何使用. 布局文件中定义控件以及属性,这里主要需要指定的是总星星数量,和当前的值,也就是总级别跟当前级别的量. <RatingBar   android:id="@+id/ratingBar"   android:numStars="5" //总级别,总分,星星个数   android:rating=&q