Android初级开发第七讲--特效和数据传递处理
来源:互联网 发布:百度哪里能注册域名 编辑:程序博客网 时间:2024/05/23 11:53
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved !
大家好,相信大家对iphone上的特效早有耳闻,特效不仅给人以炫丽的感觉,也给人以性能优越的感觉;但万丈高楼平地起,基础是关键,今天就跟大家分享下基本的特效是怎么做成的。
1、点击效果
跟图片放在一起,写成一个xml文件,一个简单的点前点后的效果如下:
<?xml version="1.0" encoding="UTF-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/bar_bt_active" android:state_pressed="true"/> <item android:drawable="@drawable/bar_bt"/></selector>
state_pressed代表点击后,其实还有很多状态的参数,如focused当前焦点在此控件上,selected选择的时候等2、当可以用一个页面显示多种表现时,可以用到visibility
visibility有三种属性:
visible可见,并占有空间位置
invisible不可见,并占有空间位置
gone不可见,不占空间位置
如果写一个邮箱的应用,收件箱、发件箱、垃圾箱功能差不多,只不过按钮不同,就需要用到这个属性。
第一隐藏该隐藏的图片,第二用setImageResource改变图片背景
3、Animation
安卓自带了很多动画事件,如渐渐消失的fade.xml
<alpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="@android:integer/config_longAnimTime" />
可以通过android.R.anim.fade引用push_left_in,从左进入
<set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="300"/><alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" /></set>
这些效果,可以用在activity的加载、窗口的加载等出现消失时4、还有很多自定义的特效,欢迎大家去网上自己找找
开源中国社区:http://www.oschina.net/android/116/
5、数据传递处理
方法一、通过intent对象,intent.putExtras(key ,value),然后通过getIntent().getExtras().get(key)获取value值
方法二、通过sharedPreference,它就像一个写在本地的小数据包一样,简便实用,总共不过六行代码,但功能强大
SharedPreferences sp=getSharedPreferences(命名缓存对象名,Context.MODE_PRIVATE); sp.getInt(存入对象key, 默认value); Editor editor = sp.edit(); editor.putInt(key, value); editor.commit();
里面可以放无数个集合,可以只命名一个存储对象名。方法三、set get方法或者静态数据构建缓存对象包
方法四、发送消息--广播
广播有两种,一种在manifest.xml中注册,一种在类中创建。
区别,第一种永生,第二种与当前activity绑定。
第一步:定义一个广播接收类:
BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver();
第二步:注册该广播
registerReceiver(mReceiver, intentFilter);
第三步:触发响应
sendBroadcast(mIntent);
方法五、异步处理--handler
第一步,声明并实现其内部方法
private Handler mHandler = new Handler(){
public void handleMessage(Message msg) {switch (msg.what) {
case 1: //处理方法 break; }}; };
第二步,发送消息
Message message = new Message();
message.what = 1;
mHandler.sendMessage(message);
有很多时候,两个activity,或者一个项目,前两个比较简单,我们来简单说下两个应用之间进行数据共享
1、如上写缓存SharedPreference
2、将共享数据写入sqlite或者文本
3、如上,发广播或者使用Service,这块作者没有深入研究。
谢谢!
- Android初级开发第七讲--特效和数据传递处理
- Android初级开发第十讲--对象传递
- 第七讲 图片的调整和处理
- Android初级开发第二讲--项目学习
- Android初级开发第九讲--动画
- 学徒浅析Android开发:第七讲——数据存储之SharedPreferences
- 学徒浅析Android开发:第七讲——数据存储之SQLite
- Android开发:页面跳转和数据传递
- Android初级第一讲---Android开发环境的配置
- 第七讲 Spring MVC中AJAX和JSON的处理
- Android初级开发第八讲--ListView学习以及特性介绍
- Android初级开发第三讲--项目中控件的学习
- Android初级开发第五讲--Activity的生命周期
- Android初级开发第六讲--Activity的布局
- Android初级开发第八讲--之startActivityForResult方法讲解
- Android-应用开发-页面跳转和数据传递(六)
- Android应用开发:页面跳转和数据传递
- Android事件处理和传递
- 推荐系统(利用用户行为数据 )
- Linux中有哪些文件种类
- ADF11g-022:ADF 文章收藏
- java static和final的巧妙应用
- Google Dremel 原理 - 如何能 3 秒分析 1PB
- Android初级开发第七讲--特效和数据传递处理
- java文件路径操作
- 全球七大黑帮:最神秘组织竟在中国
- 字体对话框使用实例
- Ora-12514和Ora-12514解决方法
- java上机 第十四周 任务一 线程的练习
- 在“Resources”参数中指定了项xx.resources”多次 “Resources”参数不支重复项
- Cocoa中常用绘制方法实例代码
- hdU 1864 最大报销额