android 带图片进度条
时间: 2023-08-04 13:28:05 浏览: 65
你可以使用 Android 的 ProgressBar 组件来实现带图片的进度条。具体实现步骤如下:
1. 在你的布局文件中添加一个 ProgressBar 组件,并设置其 style 为 `@android:style/Widget.ProgressBar.Horizontal`,这样进度条就会呈现水平方向。
```
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:indeterminate="false"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/custom_progress_bar"
android:secondaryProgress="0"
android:style="@android:style/Widget.ProgressBar.Horizontal" />
```
2. 创建一个自定义的 Drawable 类,用于设置进度条的样式,包括进度条的背景和进度条的前景图片。你可以根据自己的需要进行修改。
```
public class CustomProgressBarDrawable extends LayerDrawable {
public CustomProgressBarDrawable(Drawable[] layers) {
super(layers);
}
@Override
protected boolean onLevelChange(int level) {
Drawable progress = findDrawableByLayerId(android.R.id.progress);
if (progress != null) {
progress.setLevel(level);
}
return true;
}
}
```
3. 在代码中获取 ProgressBar 组件,并设置其进度条的样式为自定义的 Drawable。
```
ProgressBar progressBar = findViewById(R.id.progressBar);
Drawable progressDrawable = getResources().getDrawable(R.drawable.custom_progress_bar);
CustomProgressBarDrawable customProgressBarDrawable = new CustomProgressBarDrawable(new Drawable[] {progressDrawable});
progressBar.setProgressDrawable(customProgressBarDrawable);
```
这样,你就可以实现一个带图片的进度条了。需要注意的是,你需要根据自己的需求进行样式的修改,比如进度条的背景色、前景图片等。