StarRatingBar星星切换动画《IT蓝豹》
StarRatingBar星星切换动画
StarRatingBar星星切换动画,很久没有学习一下这个RatingBar了,今天来看看这个RatingBar的动画切换效果,
本例子主要是RatingBar移动效果处理动画,本项目自定义LStarRatingBar 的用展示评分的控件。目前有平移动画效果,透明度动画效果,放大缩小动画效果。
项目来源:https://github.com/gcgongchao/StarRatingBar
主要用法:
引入布局
<com.gc.starratingbar.views.LStarRatingBar
android:id="@+id/h_lstar_ratingbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:starUnselect="@drawable/no_star"
app:starSelected="@drawable/star_top"
android:layout_centerHorizontal="true"
app:starSelectedNum="3"
app:animationEffect="starScale"
/>
自定义LStarRatingBar extends LinearLayout
主要由如下动画实现切换:
private void startAnimation(int index)
{
switch (animationEffect) {
case StarContants.defEffect:
break;
case StarContants.scaleEffect:
// this.setPadding(20, 20, 20, );
// LayoutParams mLayoutParams=(LayoutParams) this.getLayoutParams();
// mLayoutParams.bottomMargin=20;
// mLayoutParams.topMargin=20;
// setLayoutParams(mLayoutParams);
switch (index) {
case 0:
ScaleAnimation.startAnimation(mIvStarOne, 360, 0,mHandler,starSelectedNum);
break;
case 1:
ScaleAnimation.startAnimation(mIvStarSecond, 360, 1,mHandler,starSelectedNum);
break;
case 2:
ScaleAnimation.startAnimation(mIvStarThree, 360, 2,mHandler,starSelectedNum);
break;
case 3:
ScaleAnimation.startAnimation(mIvStarFour, 360, 3,mHandler,starSelectedNum);
break;
case 4:
ScaleAnimation.startAnimation(mIvStarFive, 360, 4,mHandler,starSelectedNum);
break;
default:
break;
}
break;
case StarContants.alphaEffect:
switch (index) {
case 0:
AlphaAnimation.startAnimation(mIvStarOne, 720, 0,mHandler,starSelectedNum);
break;
case 1:
AlphaAnimation.startAnimation(mIvStarSecond, 720, 1,mHandler,starSelectedNum);
break;
case 2:
AlphaAnimation.startAnimation(mIvStarThree, 720, 2,mHandler,starSelectedNum);
break;
case 3:
AlphaAnimation.startAnimation(mIvStarFour, 720, 3,mHandler,starSelectedNum);
break;
case 4:
AlphaAnimation.startAnimation(mIvStarFive, 720, 4,mHandler,starSelectedNum);
break;
default:
break;
}
break;
case StarContants.translationEffect:
switch (index) {
case 0:
TranslationAnimation.startAnimation(mIvStarOne, 720, 0,mHandler,starSelectedNum);
break;
case 1:
TranslationAnimation.startAnimation(mIvStarSecond, 720, 1,mHandler,starSelectedNum);
break;
case 2:
TranslationAnimation.startAnimation(mIvStarThree, 720, 2,mHandler,starSelectedNum);
break;
case 3:
TranslationAnimation.startAnimation(mIvStarFour, 720, 3,mHandler,starSelectedNum);
break;
case 4:
TranslationAnimation.startAnimation(mIvStarFive, 720, 4,mHandler,starSelectedNum);
break;
default:
break;
}
break;
default:
break;
}
}
运行效果:
相关代码
StarRatingBar星星切换动画《IT蓝豹》的更多相关文章
- AndroidScreenSlide项目切换view动画效果《IT蓝豹》
AndroidScreenSlide项目切换view动画效果 AndroidScreenSlide项目中有几个不错的效果,一:Card Flip翻页立体效果,二:Screen Slide 左右切换vi ...
- 一个不错的loading效果--IT蓝豹
一个不错的loading效果 介绍:一个不错的loading加载效果,弹性收缩,效果不错,学习android动画的朋友可以下载来研究研究本例子其实由SeekBar实现,由MetaballView,Me ...
- uwp 图片切换动画
最近在学习安卓,LOL自定义战绩项目近乎停工,而且腾旭把界面全改了,好烦.刚好学习到安卓中的图片切换动画,我就想在LOL项目中实现一个.首先上百度查看一下,妈的,资料少的可怜. 还是自己来吧.自定义控 ...
- HTML5移动端图片左右切换动画
插件描述:HTML5移动端图片左右切换动画 小海今天要给大家分享一款很不错的图片左右切换焦点图动画,并且支持移动端触摸滑动.功能上,这款HTML5图片播放器支持鼠标滑动.手机端触摸滑动以及自动播放.外 ...
- Android Activity 切换动画(非原创)
在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity ...
- 在android开发中使用multdex的方法-IT蓝豹为你整理
Android系统在安装应用时,往往需要优化Dex,而由于处理工具DexOpt对id数目的限制,导致其处理的数目不能超过65536个,因此在Android开发中,需要使用到MultiDex来解决这个问 ...
- 《IT蓝豹》挑战独立开发项目能力
做了5年的android开发,今天没事写写刚入行不久的时候第一次独立开发项目的心得体会, 当时我刚工作8个月,由于公司运营不善倒闭了,在2011年3月份我开始准备跳槽, 看了一周andro ...
- 两个APP之间怎么调用《IT蓝豹》
两个app之间怎么调用? (1):通过显示Intent 启动 首先:配置好B app 的action,即AndroidManifest.xml中声明 <intent-filter> ...
- Android切换动画之ViewPager
有过开发经验的程序员都知道这个效果,就是当我们第一次安装一个软件时有一个使用说明的图片切换效果,他是如何实现的呢?今天我们就一起学习一下吧,难度系数1.0,就是只要你仔细分析,都可以学会.废话不多说, ...
随机推荐
- Linux下单独编译安装PHP扩展包
首先进入PHP源码目录,比如这个: root@vultr:~/php-/ext/soap# 运行下PHP目录下的phpize,接着就可以和普通代码一样,配置,编译,安装了(注意:有些库可能可以配置参数 ...
- 使用Mongo dump 将数据导入到hive
概述:使用dump 方式将mongo数据导出,上传到hdfs,然后在hive中建立外部表. 1. 使用mongodump 将集合导出 mongodump --host=localhost:27 ...
- Certbot免费https证书
安装https 获取certbot客户端 wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto 停止nginxyunx service ...
- NoSQL学习1
MongoDB使用C++语言编写的一个基于分布式的文件存储的开源数据库.可以在承受高负载的情况下,保证服务器的性能. MongoDB将数据存储成为一个文档,数据结构有键值对组成.类似于JSON,字段值 ...
- uva-10763-交换生
题意:有一个交换生由A->B,想交换得有一个B->A,问,是不是所有人都能交换成. 俩个数字交换偶数次还是自身,开一个数组mark,模拟完所有样例后,看数组是不是还是初始化数组. #inc ...
- scala快速一览
println("hello world"); val x = +; println(x); //val 不允许再次赋值 //x = 3; //变量var var xx = x; ...
- 《算法》第四章部分程序 part 7
▶ 书中第四章部分程序,包括在加上自己补充的代码,图中找欧拉环 ● 无向图中寻找欧拉环 package package01; import edu.princeton.cs.algs4.StdOut; ...
- samba配置中常见错误收集.txt
在命令行输入命令: ~$ smbclient -L \\127.0.0.1按要求输入密码后,提示出错:session setup failed: NT_STATUS_LOGON_FAILURE 这是因 ...
- 图解HTTP / HTTPS
http://kb.cnblogs.com/page/155287/ 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议 ...
- WebService简单教程
一.简介 1.什么是WebService? WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Htt ...
