1,ProgressBar的样式;在项目中有点击按钮伸出某个用户的级别的动画,还有级别的样式。
1,在布局文件xml文件中配置如下
<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="@dimen/layout_myyouku_avatar_height"
android:max="100"
android:progress="100"
android:progressDrawable="@drawable/progressbar_mini" />
其中,progressbar_mini.xml是个背景样式,内容:
<?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:bottomRightRadius="0dp"
android:radius="@dimen/usercenter_progress_radius"
android:topRightRadius="0dp" />
<gradient
android:angle="270"
android:centerX="50.75"
android:centerY="50.75"
android:endColor="#20ffffff"
android:startColor="#20ffffff" />
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<corners
android:bottomRightRadius="0dp"
android:radius="@dimen/usercenter_progress_radius"
android:topRightRadius="0dp" />
<gradient
android:angle="270"
android:centerX="50.75"
android:centerY="50.75"
android:endColor="#165CBC"
android:startColor="#85B0E9" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners
android:bottomRightRadius="0dp"
android:radius="@dimen/usercenter_progress_radius"
android:topRightRadius="0dp" />
<gradient
android:angle="270"
android:centerX="50.75"
android:centerY="50.75"
android:endColor="#9500c76c"
android:startColor="#9500c76c" />
</shape>
</clip>
</item>
</layer-list>
2,在java代码控制层,使用动画控制伸缩,也就是左右的位移
Animation translateAnimation = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 1.0f,
Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f);
translateAnimation.setDuration(500);// 设置动画持续时间
translateAnimation.setRepeatCount(0);// 设置重复次数
translateAnimation.setRepeatMode(Animation.REVERSE);// 反方向执行
translateAnimation.setFillAfter(false);
translateAnimation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
img_back.setVisibility(View.VISIBLE);
}
});
layout_level.setAnimation(translateAnimation); // 设置动画效果
translateAnimation.startNow(); // 启动动画 //位置变化动画效果