progreaabar进度条:加载进度等应用
两种:一种是精确的(有百分比),另一种是不精确的(一直转的那种)
常用属性:
android:max=”100” 最大值
android:progress=”0” 当前值
android:visibility=”visible” 是否可见
seekbar拖动条:常用于音乐播放视频播放等音量亮度控制
常用属性:
android:max=”100” 最大值
android:progress=”0” 当前值
android:thumb=”@mipmap/sb_icon” 滑块的drawable
一个例子
这里我们实现一个用拖动条控制图片透明度和进度条值的小例子。
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<ProgressBar
android:id="@+id/progressBar3"
style="?android:attr/progressBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ProgressBar
android:max="255"
android:id="@+id/progressBar4"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="200dp"
android:src="@drawable/a"/>
<SeekBar
android:id="@+id/seekBar"
android:max="255"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<SeekBar
android:id="@+id/seekBar2"
style="@style/Widget.AppCompat.SeekBar.Discrete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="10"
android:progress="3" />
</LinearLayout>
MainActivity.java:
package com.example.bar;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.SeekBar;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//进度条
SeekBar seekBar = findViewById(R.id.seekBar);
ProgressBar progressBar = findViewById(R.id.progressBar4);
ImageView imageView = findViewById(R.id.imageView);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progressBar.setProgress(progress);
imageView.setImageAlpha(progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
}
效果图: