安卓Android多阶段进度条progress bar附带动画效果

还在为美工设计出的进度条而发愁吗?大家先看效果吧


欢迎加安卓开发交流群:308372687(博主尽可能帮助大家)
转载请注明来源
代码连接
GitHub:https://github.com/AndroidMsky/Myprogress

笔者也是想给大家传递一个思想,面对效果不要怕大胆去做。大胆去想,想自己能实现什么,还差什么,如何去让自己的设想变成现实。
今天就用属性动画实现一个动态多阶段进度条的例子。

1 xml遮罩层的实现。

其实就三层。进度内容层,遮罩层,进度外观层。我们事实凑出遮罩层,就实现了显示进度条的效果。

<FrameLayout  android:layout_width="300dp" android:layout_height="40dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="74dp">

        <ImageView  android:id="@+id/content" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="left|center_vertical" android:src="@drawable/b0" />

        <ImageView  android:id="@+id/over" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="left|center_vertical" android:padding="3dp" android:src="@drawable/b1" />

        <ImageView  android:id="@+id/imOut" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="left|center_vertical" android:scaleType="fitXY" android:src="@mipmap/bg" />
    </FrameLayout>

2 如何获取遮罩层ImageView的宽度。

直接getWidth();那你就错了,大家可以好好研究一下activity生命周期相关知识,这里不做太多解释。

 contentImageView.post(new Runnable() {
            @Override
            public void run() {
                h = contentImageView.getHeight();
                w = contentImageView.getWidth();
                Toast.makeText(MainActivity.this, "h:" + h + "w:" + w, Toast.LENGTH_SHORT).show();
            }
        });

3 一行代码实现移动。

对这就是属性动画,一行代码效果飞起来,w值得大小可以通过你的需求完全自定义。

  ObjectAnimator.ofFloat(overImageView, "translationX", w).setDuration(500).start();

最后祝大家都能实现自己心目中的效果。没有干不成的程序员,只有不敢想的程序员。

代码连接http://download.csdn.net/detail/androidmsky/9341215
GitHub:https://github.com/AndroidMsky/Myprogress

欢迎加安卓开发交流群:308372687(博主尽可能帮助大家)

安卓Android多阶段进度条progress bar附带动画效果_第1张图片

你可能感兴趣的:(android,android,动画,进度条,Studio,多阶段)