zoukankan      html  css  js  c++  java
  • Android_SeekBarAndProgressBar

    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);
            }
            
        }
        
    }
  • 相关阅读:
    316 Remove Duplicate Letters 去除重复字母
    315 Count of Smaller Numbers After Self 计算右侧小于当前元素的个数
    313 Super Ugly Number 超级丑数
    312 Burst Balloons 戳气球
    309 Best Time to Buy and Sell Stock with Cooldown 买股票的最佳时间含冷冻期
    Java 类成员的初始化顺序
    JavaScript 全局
    HTML字符实体
    Java中的toString()方法
    JavaScript 弹窗
  • 原文地址:https://www.cnblogs.com/fangg/p/5558517.html
Copyright © 2011-2022 走看看