Android 使用动画设置ProgressBar进度
来源:互联网 发布:淘宝店铺怎么查排名 编辑:程序博客网 时间:2024/05/21 06:43
需求场景:当我们在使用ProgressBar的时候,希望有进度加载的效果,此时我们传统的做法是使用Thread线程来实现,下面我们用属性动画来实现,简单粗暴。。哈哈哈
布局文件:
<?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" android:orientation="vertical" tools:context="com.yhx.app.progressbardemo.MainActivity"> <ProgressBar android:layout_marginTop="20dp" android:id="@+id/bar" android:layout_width="match_parent" android:layout_height="8dp" style="?android:attr/progressBarStyleHorizontal" android:progress="10" android:max="100"> </ProgressBar > <Button android:hint="开始" android:onClick="show" android:layout_marginTop="50dp" android:layout_width="match_parent" android:layout_height="50dp"/> <TextView android:id="@+id/tv_bar" android:layout_marginTop="20dp" android:layout_width="100dp" android:text="0" android:gravity="center" android:textSize="38dp" android:layout_gravity="center" android:layout_height="100dp"/> <Button android:hint="开始" android:onClick="tvshow" android:layout_marginTop="50dp" android:layout_width="match_parent" android:layout_height="50dp"/></LinearLayout>
Activity:
public class MainActivity extends AppCompatActivity { private ProgressBar mProgressBar; TextView mtv_bar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mProgressBar = (ProgressBar) findViewById(R.id.bar); mtv_bar = (TextView) findViewById(R.id.tv_bar); setAnimation(mProgressBar, 100); } private void setAnimation(final ProgressBar view, final int mProgressBar) { ValueAnimator animator = ValueAnimator.ofInt(0, mProgressBar).setDuration(5000); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { view.setProgress((int) valueAnimator.getAnimatedValue()); } }); animator.start(); } private void setTvAnimation(final TextView view, final int mProgressBar) { ValueAnimator animator = ValueAnimator.ofInt(0, mProgressBar).setDuration(5000); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { view.setText(String.valueOf(valueAnimator.getAnimatedValue())); } }); animator.start(); } public void show(View view) { setAnimation(mProgressBar, 100); } public void tvshow(View view){ setTvAnimation(mtv_bar,240); }}
效果图:
阅读全文
0 0
- Android 使用动画设置ProgressBar进度
- Android 自定义ProgressBar--进度自己设置图片
- 设置Android的ProgressBar的实时进度及比例
- Android使用ProgressBar、自定义Notification显示文件下载进度
- android progressBar 自定义 进度颜色
- android--进度框(ProgressBar)
- 显示和设置ProgressBar的进度
- ProgressBar设置动画使用animation-list时,将ProgressBar放大后,出现图片循环 连接现象
- [Android 界面]重画Progressbar的进度
- Android ProgressBar ImageLoading 旋转进度值
- android 关于音乐进度 circular-music-progressbar
- android开发之progressbar刷新进度
- android 自定义ProgressBar 文字跟随进度效果
- 【进度显示】progressbar进度条的使用
- 使用android frame动画定义自己的ProgressBar
- ProgressBar的圆形进度和水平进度的使用
- 圆形ProgressBar之外的表示进度的图片动画
- 自定义圆形progressbar(包含进度动画效果)
- Using Ubuntu16.04LS
- gitlab添加新用户
- Spray handle Post request
- 安卓篇--模拟器加载自己编译的内核
- Hash 算法
- Android 使用动画设置ProgressBar进度
- Redis Learning
- Todo
- ThinkPHP 配置 去掉 index.php
- Apple MackBook 选购比较
- Mastering Http Response
- :after伪类+content内容生成经典应用举例
- 日处理20亿数据,实时用户行为服务系统架构实践
- NYOJ-备用2344 盖伦的告白(线段树,区间最大值)