博客出自: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);

6、数据共享

有很多时候,两个activity,或者一个项目,前两个比较简单,我们来简单说下两个应用之间进行数据共享

1、如上写缓存SharedPreference

2、将共享数据写入sqlite或者文本

3、如上,发广播或者使用Service,这块作者没有深入研究。

谢谢!

转载于:https://www.cnblogs.com/fengju/archive/2012/11/29/6174482.html

Android初级开发第七讲--特效和数据传递处理相关推荐

  1. Android应用开发:页面跳转和数据传递

    1. Activity的跳转 1.1 创建第二个Activity 需要在清单文件中为其配置一个activity标签 标签中如果带有这个子节点,则会在系统中多创建一个快捷图标 <intent-fi ...

  2. Android初级开发笔记-- activity启动模式的学习(1)

    第一次学习Android中一个很重要的概念,启动模式.文章记录的也只是一些入门知识,随着学习的深入还会有activity启动模式的学习(2)和(3). 下面分三个小点说一下对启动模式的理解区别以及如何 ...

  3. 数据分析 第七讲 pandas练习 数据的合并、分组聚合、时间序列、pandas绘图

    文章目录 数据分析 第七讲 pandas练习 数据的合并和分组聚合 一.pandas-DataFrame 练习1 对于这一组电影数据,如果我们想runtime(电影时长)的分布情况,应该如何呈现数据? ...

  4. Android初级开发第九讲--动画

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! Android中动画的应用,在应用管理软件.购物软件.追星软件等比较广泛:比如常见的进度条设计,此处 ...

  5. 【安卓开发 】Android初级开发(七)MD5加密

    //MD5加密public String encrypt(String raw){String md5Str = raw;try {MessageDigest md = MessageDigest.g ...

  6. Android音频开发(七)音频编解码之MediaCodec编解码AAC下

    在上一篇初识MediaCodec中,我们认识了MediaCodec,知道了MediaCodec的基本工作流程和开发注意事项,这一篇我将讲述如何利用MediaCodec编解码AAC. 1:MediaCo ...

  7. 【安卓开发 】Android初级开发(十二)Android向系统日历中添加事件

    1.首先需要获取权限 <uses-permission android:name="android.permission.READ_CALENDAR" /><us ...

  8. 【安卓开发 】Android初级开发(十一)Android中多线程

    线程的创建 1.创建一个Thread类,或者创建一个Thread子的对象: 2.创建一个Runnable接口的类对象; 传入Runnable对象创建线程 package com.sina.baode; ...

  9. 【安卓开发 】Android初级开发(网络操作)

    URI部分 URI详情 uri的具体案例使用参考,app与网页之间的页面跳转 H5唤醒app并跳转到指定页面 H5打开APP技术总结 H5页面唤醒app的方法 Android配置Scheme使用浏览器 ...

最新文章

  1. Kubernetes — 设计理念
  2. python源码精要(10)-python源代码阅读概要(1)
  3. python带通滤波_python中的fft带通滤波器
  4. java定时关机源码_【Java】定时关机源码
  5. P1262 间谍网络
  6. Atitit 技术趋势的管理之道 attilax著 1. 技术趋势 即是新特性 3 1.1. 几个大趋势 3 1.2. 可读性大于性能趋势 3 2. 趋势来源渠道 4 2.1. 技术趋势Thought
  7. VSTT Rosario CTP
  8. 惠普服务器硬件检测软件吗,惠普硬件检测工具DST HP PC Hardware Diagnostics UEFI 6.8.0.0 Rev.A 使用方法...
  9. uniapp使用colorUI 组件
  10. SpringBoot-引入jackson-dataformat-xml之后,本返回json的接口返回xml
  11. 大数据Spark入门教程
  12. 复习一下forearch
  13. 由limits.h看整型范围
  14. swift 中构建3DTouch 及 widget
  15. 推荐一个python库:Vaex
  16. facade模式实例
  17. 深度学习(10)ablation experiments
  18. dataGridView 粘贴数据并更新到数据库及发送邮件(二)
  19. 做电商平台,用SAAS账号还是源码比较好呢?
  20. OpenGL库中gl、glu、glut、glaux的关系

热门文章

  1. Serena Dimensions 介绍
  2. Android获取最新发送短信的基本信息,没有之一
  3. 设计模式4-创建型模式-Prototype模式
  4. 软件工程 工具之二—— PowerDesigner v12(六)
  5. 管道抛光防锈机器人_全国首创!嵊州企业的这项防锈技术用在了雪龙号上
  6. tomcat9-jenkins:insufficient free space available after evicting expired cache entries-consider
  7. 新建用户、付权限命令
  8. SpringBoot启动yaml报错
  9. 自定义安装mysql linux_linux下 安装mysql 问题
  10. win10 radmin远程不了_不用QQ也能电脑远程,win10这隐藏功能太良心了!真后悔发现太晚...