ProgressBar水平进度条设置

在XML的布局控件中添加

          style="@style/Widget.AppCompat.ProgressBar.Horizontal"就完成水平进度条的设置

Activity中设置
progressbar.setMax(100);   设置进度条的最大值
progressbar.setProgress(progress);    同步进度条进度


在 Android 中编写水平进度条 `ProgressBar` 可以按照以下步骤进行: ### 1. 在布局文件中添加水平进度条 在 `XML` 布局文件中添加 `ProgressBar` 并设置其样式为水平进度条。可以使用 `style="@android:style/Widget.ProgressBar.Horizontal"` 来指定水平样式,同时可以通过 `android:max` 属性设置进度条的最大值,`android:progress` 属性设置当前进度值等 [^1][^2][^4]。 示例代码如下: ```xml <ProgressBar android:id="@+id/progress_horizontal" style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" android:progress="30" /> ``` ### 2. 在 Java 代码中动态控制进度 在 `Activity` 或 `Fragment` 中获取 `ProgressBar` 的实例,并通过 `setProgress()` 方法动态更新进度 [^1]。 示例代码如下: ```java import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ProgressBar; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private ProgressBar progressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); progressBar = findViewById(R.id.progress_horizontal); Button btn = findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int progress = progressBar.getProgress(); progress = progress + 10; progressBar.setProgress(progress); } }); } } ``` ### 3. 自定义水平进度条样式 可以通过创建 `layer-list` 类型的 `Drawable` 资源文件来自定义水平进度条的样式,包括背景、进度填充颜色等 [^5]。 示例代码如下: ```xml <!-- res/drawable/custom_progress_bar.xml --> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape> <corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp" /> <solid android:color="#C9C7C7" /> <stroke android:dashWidth="2dip" android:width="2dip" android:color="#79E911" /> </shape> </item> <item android:id="@android:id/progress" android:drawable="@drawable/red"> </item> </layer-list> ``` 然后在布局文件中引用该样式: ```xml <ProgressBar android:id="@+id/progress_horizontal" style="@android:style/Widget.ProgressBar.Horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" android:progress="30" android:progressDrawable="@drawable/custom_progress_bar" /> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值