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);
            }
            
        }
        
    }
  • 相关阅读:
    project 2013 激活 key 7YHNW-RVCQY-VBDB2-QX69Q-B96WK viso 66DNF-28W69-W4PPV-W3VYT-TJDBQ
    电脑快捷键
    Error (167005): Can't assign I/O pad "GX_TX" to PIN_AG27 because this causes failure in the placement of the other atoms in its associated channel
    学习资源
    数值孔径
    网络通信芯片
    DMD数字微镜
    运放输入阻抗
    DS18B20测温
    LED灯开关电路
  • 原文地址:https://www.cnblogs.com/fangg/p/5558517.html
Copyright © 2011-2022 走看看