本文介绍: 是 Android 中的一个进度条控件用于显示正在进行的任务进度。它可以以水平或圆形的形式展示进度,并提供了多种样式属性满足不同需求。SeekBar是 Android 中的一个滑动控件用于允许用户通过滑动选择个数值或调整某种设置。它通常用音量控制亮度调节进度选择场景。SeekBar 继承自 ProgressBar 类。

一、ProgressBar进度介绍

   ProgressBar 是 Android 中的一个进度控件用于显示正在进行的任务进度。它可以以水平或圆形的形式展示进度,并提供了多种样式属性来满足不同的需求

相关属性

  1. android:progress设置进度条的当前进度值。
  2. android:max设置进度条的最大值
  3. android:indeterminate设置进度条是否为不确定模式
  4. android:progressDrawable设置进度条的进度条 Drawable可以是一个 Drawable 资源
  5. android:indeterminateDrawable设置进度条的不确定模式的 Drawable可以是一个 Drawable 资源
  6. android:secondaryProgress二级进度条,类似于视频播放一条当前播放进度,一条缓冲进度,前者通过progress属性进行设置

常用方法: 

  1. setProgress(int progress)设置进度条的当前进度值。
  2. setMax(int max)设置进度条的最大值
  3. getProgress()获取当前进度条的进度值。
  4. getMax()获取进度条的最大值。
  5. setIndeterminate(boolean indeterminate):设置进度条是否为不确定模式,即不显示具体进度而只显示一个动画效果
  6. isIndeterminate()判断进度条是否为不确定模式
  7. setVisibility(int visibility):设置进度条的可见性,可以是 VISIBLEINVISIBLE 或 GONE
  8. setProgressDrawable(Drawable drawable):设置进度条的进度条 Drawable,可以是一个 Drawable 对象资源 ID。
  9. setIndeterminateDrawable(Drawable drawable):设置进度条的不确定模式的 Drawable,可以是一个 Drawable 对象资源 ID。

二、SeekBar 介绍

  SeekBar 是 Android 中的一个可滑动条控件用于允许用户通过滑动来选择个数值或调整某种设置。它通常用音量控制亮度调节、进度选择等场景。SeekBar 继承自 ProgressBar 类。

常用方法

以下是 SeekBar 常用的方法

  1. setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener listener):设置 SeekBar 的监听器用于监听滑动事件数值变化事件。
  2. setMax(int max):设置 SeekBar 的最大值。
  3. getMax()获取 SeekBar 的最大值。
  4. setProgress(int progress):设置 SeekBar 的当前进度值。
  5. getProgress()获取 SeekBar 的当前进度值。
  6. setThumb(Drawable thumb):设置滑块(Thumb)的图像,可以是一个 Drawable 对象资源 ID。
  7. setThumbOffset(int thumbOffset):设置滑块偏移量,可调整滑块位置
  8. getThumb()获取当前 SeekBar 使用滑块图像
  9. getThumbOffset():获取当前滑块偏移量

相关属性

以下是 SeekBar 常用的属性

  1. android:max:设置 SeekBar 的最大值。
  2. android:progress:设置 SeekBar 的当前进度值。
  3. android:thumb:设置滑块(Thumb)的图像,可以是一个 Drawable 资源。
  4. android:thumbOffset:设置滑块偏移量。
  5. android:progressDrawable:设置 SeekBar 的进度条 Drawable,可以是一个 Drawable 资源。 

三、例子 

 运行结果

MainActivity : 



public class MainActivity extends AppCompatActivity {
private Button add,minus;
ProgressBar mProgressBar;
SeekBar mSeekBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        add = findViewById(R.id.add);
        mProgressBar = findViewById(R.id.bar);
        minus = findViewById(R.id.minus);
        mSeekBar = findViewById(R.id.seekbar);
        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int curProgress = mProgressBar.getProgress();
                int curSeekProgress = mSeekBar.getProgress();
                mSeekBar.setProgress(curSeekProgress+10);
                mProgressBar.setProgress(curProgress+10);
            }
        });
        minus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int curProgress = mProgressBar.getProgress();
                mProgressBar.setProgress(curProgress-10);
                int curSeekProgress = mSeekBar.getProgress();
                mSeekBar.setProgress(curSeekProgress-10);
            }
        });
        mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                Toast.makeText(MainActivity.this, "进度条进度改变!", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                Toast.makeText(MainActivity.this, "进度条被手指触摸!", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                Toast.makeText(MainActivity.this, "手指离开进度条!", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

 activity_main

<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=".MainActivity">

   <ProgressBar
       android:id="@+id/bar"
       android:gravity="center"
       style="@android:style/Widget.ProgressBar.Horizontal"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:max="100"
       android:min="0"
       android:progress="18" />
   <SeekBar
       android:id="@+id/seekbar"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:max="100"
      android:min="0"/>
   <Button
       android:id="@+id/add"
       android:layout_width="wrap_content"
       android:layout_height="50dp"
       android:text="增加进度"
       android:layout_gravity="center"
      />
   <Button
       android:id="@+id/minus"
       android:layout_width="wrap_content"
       android:layout_height="50dp"
       android:text="减少进度"
       android:layout_gravity="center"
       />

</LinearLayout>

 

 

原文地址:https://blog.csdn.net/A125679880/article/details/131736127

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_48362.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注