Progressbar的使用
16lz
2021-01-26
android中使用水平Progressbar时,需要设置Progressbar的样式为水平。
<ProgressBar android:id="@+id/progress" android:layout_width="match_parent" android:layout_height="wrap_content" style="@style/progress" />该style在文件中的定义:需要特别制定parent为水平进度条,这里关键的地方在于progressDrawable,这里 引用了drawable文件夹中的文件,该文件中定义了progress的背景色和进度条颜色:
<style name="progress" parent="android:Widget.ProgressBar.Horizontal"> <item name="android:progressDrawable">@drawable/progress_bg</item> <item name="android:indeterminateOnly">false</item> <item name="android:minHeight">20dp</item> <item name="android:maxHeight">20dp</item> </style>定义方式如下:
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape> <corners android:radius="5dp"/> <solid android:color="@color/gray" /> </shape> </item> <item android:id="@android:id/progress"> <clip> //这里必须写上,否则progress会充满整个进度条 <shape> <corners android:radius="5dp" /> <solid android:color="@color/red"/> </shape> </clip> </item></layer-list>在代码中的使用:
progressBar= (ProgressBar) findViewById(R.id.progress); progressBar.post(new Runnable() { @Override public void run() { if(progressBar.getProgress()<100) { progressBar.setProgress(progressBar.getProgress()+10); progressBar.post(this); } } });
更多相关文章
- Android(安卓)对话框 (三)自定义对话框
- Android(安卓)Studio最常用快捷键
- linux 编译 android-apk 安装到window下的模拟器(步骤)
- [Android]网络传输使用BufferedOutputStream写文件导致文件变大
- Android(安卓)利用HttpURLConnection对象和Internet交互
- Android(安卓)推送之Androidpn项目分析(一)
- Android(安卓)res文件夹下资源定义及使用
- 自定义Android(安卓)Gradle插件的3种方式
- 在Android中使用帧动