还在为美工设计出的进度条而发愁吗?大家先看效果吧
欢迎加安卓开发交流群: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(博主尽可能帮助大家)
—————————————————————————————
作者推荐:
安卓自定义view滚动数据显示
http://blog.csdn.net/androidmsky/article/details/53009886
RecyclerView下拉刷新分页加载性能优化和Gilde配合加载三部曲
http://blog.csdn.net/androidmsky/article/details/53115818
打造企业级网络请求框架集合retrofit+gson+mvp
http://blog.csdn.net/androidmsky/article/details/52882722
安卓手机自动接起QQ视频秒变摄像头
http://blog.csdn.net/androidmsky/article/details/53066441
—————————————————————————————
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)