Android常用基础个人总结(二)
来源:互联网 发布:淘宝上守望先锋激活码 编辑:程序博客网 时间:2024/04/27 19:04
Android常用基础个人总结(二)
1.界面之间的切换动画(上一页和下一页)
1.1 在res目录下新建anim文件夹 1.2 用xml文件描述动画 1.3 在Activity开始或结束后调用方法 overridePendingTransition(R.anim.anim_in, R.anim.anim_out); 1.3 示例:
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="300" //显示时长ms android:fromXDelta="100%p" //x轴开始位置 android:fromYDelta="0" //y轴开始位置 android:toXDelta="0" //到x轴哪个位置 android:toYDelta="0" > //到y轴哪个位置(单位为像素) </translate>
2.手势识别操作
2.1 得到手势识别器
GestureDetector mGestureDetector = new GestureDetector(this, new SimpleOnGestureListener());
2.2 重写new SimpleOnGestureListener()里面的方法,按需求重写,onFling()滑动调用的方法 2.3 在Activity里重写onTouchEvent方法,在里面用手势识别器识别传入的手势
@Override public boolean onTouchEvent(MotionEvent event) { //让手势识别器识别传入的手势 mGestureDetector.onTouchEvent(event); return super.onTouchEvent(event); }
2.4 重写onFling()示例
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // 当用户手指在屏幕上滑动的时候调用的方法 // e1 手指第一次触摸到屏幕的事件 // e2 手指离开屏幕一瞬间对应的事件 // velocityX 水平方向的速度 // velocityY 垂直方向的速度 单位像素/s if (Math.abs(velocityX)<200) { Log.i(TAG, "移动速度太慢,无效动作"); return true; } if (e2.getRawY()-e1.getRawY()>50) { Log.i(TAG, "垂直移动过大,无效动作"); return true; } if (e1.getRawX()-e2.getRawX()>200) { Log.i(TAG, "下一个界面"); toNext(); return true; } if (e2.getRawX()-e1.getRawX()>200) { Log.i(TAG, "上一个界面"); toPrevious(); return true; } return super.onFling(e1, e2, velocityX, velocityY); } });
2.5其他方法补充 1.手指按下时触发
public boolean onDown(MotionEvent e) { // TODO Auto-generated method stub return false; }
2.手指抬起时触发,单击事件
public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub return false; }
3.双击事件
@Override public boolean onDoubleTapEvent(MotionEvent e) { // TODO Auto-generated method stub return super.onDoubleTapEvent(e); }
4.长按事件
public void onLongPress(MotionEvent e) { // TODO Auto-generated method stub }
5.手指在屏幕上拖动事件,手指一直没有离开屏幕
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // TODO Auto-generated method stub return false; }
6.滑动事件,当手指拖动之后抬起触发。手指在屏幕上滑动都会有一个速度,当手指离开的时候如果我们希望控件有惯性的继续滑动可以在此处实现
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // TODO Auto-generated method stub return false; }
3.重构代码,抽取基类
3.1 设置向导界面每个界面都有上一页,下一页及滑动动画,手势识别的操作,可以将其向上抽取出一个基类继承Activity,让这四个界面继承这个基类 3.2 如果子类在相同的地方有不同的操作,将方法定义成抽象方法,类定义为抽象类,让子类去重写这些方法
4.获取sim卡串号
4.1 得到电话管理
TelephoneManager tm = getSystemService(TELEPHONY_SERVICE);
4.2 获取sim卡串号
tm.getSimSerialNumber();
5.获取大量数据优化
5.1 将获取数据的方法放在子线程里 5.2 显示获取进度条 5.3 获取数据后更新界面 5.4 隐藏进度条
6.子线程中更新UI
runOnUiThread(new Runnable(){ public void run(){ }});
7.开机广播接受者 7.1 写一个类继承Broadcast,重写Received方法 7.2 在清单文件中添加权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
7.3 在清单文件中配置Receiver节点,配置意图过滤器
8.发送短信
1.添加权限
<uses-permission android:name="android.permission.SEND_SMS" />
2.获得SmsManager
SmsManager smsManager = SmsManager.getDefault();
3.调用sendTextMessage方法
smsManager.sendTextMessage(safenumber, null, "SOS...phone may lost", null, null);
9.播放音乐
MediaPlayer player = Mediaplayer.create(Context context,resource); player.strat();
0 0
- Android常用基础个人总结(二)
- 前端基础个人总结二
- [Vimer个人总结] 常用基础命令
- 【算法基础个人常用总结】<-------持续更新------->
- Android 个人每天总结 基础总结
- Android常用基础知识个人总结(一)
- 个人总结Android面试题目之二
- Android基础总结(二)
- 黑马程序员----【javaSE基础】个人总结--eclipse常用快捷键
- 个人常用网站总结
- java基础个人总结
- 前端基础个人总结
- linux平台下android开发常用指令总结:个人笔记
- androidの常用基础应用知识总结
- Android 基础总结:(二)Android APP基础及组件
- SQL常用语句个人总结
- 常用linux命令个人总结
- 个人常用linux命令总结
- leetcode231: Power of Two
- C++每日一练(STL算法——for each)
- 树状数组(一维&&二维)
- EBS_OM_Cancel:Force Cancel SO Line (base on line_id )
- AutoTouch for IOS8破解版 v3.1.2-1 deb格式
- Android常用基础个人总结(二)
- 假如程序易懂。注释何用?
- 2016-10-26 细节细节细节最重要!
- 安卓高级7 vitamio 视频框架 从raw文件下获取文件uri
- struct cdev结构体和cdev_init和cdev_add函数
- 从零开始源代码安装tnc@fhh项目软件
- android developer tiny share-20161018
- poj3641Pseudoprime numbers(快速幂+同余定理)
- string用法