赞
踩
ProgressBar
是 Android 中的一个进度条控件,用于显示正在进行的任务的进度。它可以以水平或圆形的形式展示进度,并提供了多种样式和属性来满足不同的需求。
android:progress
:设置进度条的当前进度值。android:max
:设置进度条的最大值。android:indeterminate
:设置进度条是否为不确定模式。android:progressDrawable
:设置进度条的进度条 Drawable,可以是一个 Drawable 资源。android:indeterminateDrawable
:设置进度条的不确定模式的 Drawable,可以是一个 Drawable 资源。setProgress(int progress)
:设置进度条的当前进度值。setMax(int max)
:设置进度条的最大值。getProgress()
:获取当前进度条的进度值。getMax()
:获取进度条的最大值。setIndeterminate(boolean indeterminate)
:设置进度条是否为不确定模式,即不显示具体进度而只显示一个动画效果。isIndeterminate()
:判断进度条是否为不确定模式。setVisibility(int visibility)
:设置进度条的可见性,可以是 VISIBLE
、INVISIBLE
或 GONE
。setProgressDrawable(Drawable drawable)
:设置进度条的进度条 Drawable,可以是一个 Drawable 对象或资源 ID。setIndeterminateDrawable(Drawable drawable)
:设置进度条的不确定模式的 Drawable,可以是一个 Drawable 对象或资源 ID。 SeekBar
是 Android 中的一个可滑动条控件,用于允许用户通过滑动来选择一个数值或调整某种设置。它通常用于音量控制、亮度调节、进度选择等场景。SeekBar 继承自 ProgressBar 类。
以下是 SeekBar
常用的方法:
setOnSeekBarChangeListener(SeekBar.OnSeekBarChangeListener listener)
:设置 SeekBar 的监听器,用于监听滑动事件和数值变化事件。setMax(int max)
:设置 SeekBar 的最大值。getMax()
:获取 SeekBar 的最大值。setProgress(int progress)
:设置 SeekBar 的当前进度值。getProgress()
:获取 SeekBar 的当前进度值。setThumb(Drawable thumb)
:设置滑块(Thumb)的图像,可以是一个 Drawable 对象或资源 ID。setThumbOffset(int thumbOffset)
:设置滑块的偏移量,可调整滑块的位置。getThumb()
:获取当前 SeekBar 使用的滑块图像。getThumbOffset()
:获取当前滑块的偏移量。以下是 SeekBar
常用的属性:
android:max
:设置 SeekBar 的最大值。android:progress
:设置 SeekBar 的当前进度值。android:thumb
:设置滑块(Thumb)的图像,可以是一个 Drawable 资源。android:thumbOffset
:设置滑块的偏移量。android:progressDrawable
:设置 SeekBar 的进度条 Drawable,可以是一个 Drawable 资源。 -
-
- 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();
- }
- });
- }
- }
- <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>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。