android 矩形带文字进度条
时间: 2023-08-02 16:06:32 浏览: 168
你可以使用 Android 提供的 ProgressBar 控件,利用其 style 属性设置为 Horizontal,并设置其 indeterminate 属性为 false,即可实现一个矩形进度条。为了在进度条上显示文字,你可以在布局文件中在 ProgressBar 控件的外部套上一个 TextView 控件,并在代码中通过 setProgress() 方法设置进度值。以下是一个示例代码:
```xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ProgressBar
android:id="@+id/progress_bar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="false"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/custom_progress_bar"/>
<TextView
android:id="@+id/progress_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0%"
android:textSize="16sp"
android:layout_centerInParent="true"/>
</RelativeLayout>
```
在上述代码中,我们设置了一个自定义的进度条样式,该样式定义在 res/drawable/custom_progress_bar.xml 文件中,内容如下:
```xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="5dip"/>
<solid android:color="#e0e0e0"/>
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip"/>
<solid android:color="#00ff00"/>
</shape>
</clip>
</item>
</layer-list>
```
该样式定义了进度条的背景和进度部分的形状和颜色。接下来在代码中获取 ProgressBar 和 TextView 控件的引用,并在需要更新进度时调用 setProgress() 和 setText() 方法即可:
```java
ProgressBar progressBar = findViewById(R.id.progress_bar);
TextView progressText = findViewById(R.id.progress_text);
progressBar.setProgress(50);
progressText.setText("50%");
```
这样就可以实现一个带有文字的矩形进度条了。
阅读全文