在其它站点看到的,Mark一下

1、近期打开的应用不在近期任务列表中显示

android:excludeFromRecents="true"

设置为true,则排除在近期任务列表之外,不在近期任务列表中显示

2、推断一个一个String str 是否为NULL或者是否为空字符串

TextUtils.isEmpty(str)

3、android:imeOptions="actionSearch|flagNoFullscreen"的使用方法

在做一个把EditText放到到ActionBar中作为搜索框的功能时,设置EditText的属性为android:imeOptions="actionSearch",会遇到一个问题。当在横屏时。EditText的宽度会填充掉屏幕上除了软键盘之外的地方,与需求不符,改为android:imeOptions="actionSearch|flagNoFullscreen"后就OK了。

4、改变图片亮度的方法

1、使用image.setColorFilter(Color.GRAY,PorterDuff.Mode.MULTIPLY);能够使图片变暗。然后使用image.clearColorFilter();清除滤镜,恢复到原来的亮度。
2、使用
int brightness = -80;
ColorMatrix matrix = new ColorMatrix(); 
matrix.set(new float[] { 1, 0, 0, 0, brightness, 0, 1, 0, 0, 
brightness, 0, 0, 1, 0, brightness, 0, 0, 0, 1, 0 }); 
v.setColorFilter(new ColorMatrixColorFilter(matrix));
但这样的方法会使颜色不太正常。图片留有黑边。

5、用Handler来实现有时间间隔事件的推断

看到Android中GestureDetector.java是用以下代码实现手势的单击和双击推断的:

public boolean onTouchEvent(MotionEvent ev) {……case MotionEvent.ACTION_DOWN:if (mDoubleTapListener != null) {boolean hadTapMessage = mHandler.hasMessages(TAP);if (hadTapMessage) mHandler.removeMessages(TAP);if ((mCurrentDownEvent != null) && (mPreviousUpEvent != null) && hadTapMessage &&isConsideredDoubleTap(mCurrentDownEvent, mPreviousUpEvent, ev)) {// This is a second tapmIsDoubleTapping = true;// Give a callback with the first tap of the double-taphandled |= mDoubleTapListener.onDoubleTap(mCurrentDownEvent);// Give a callback with down event of the double-taphandled |= mDoubleTapListener.onDoubleTapEvent(ev);} else {// This is a first tapmHandler.sendEmptyMessageDelayed(TAP, DOUBLE_TAP_TIMEOUT);}}……
}private boolean isConsideredDoubleTap(MotionEvent firstDown, MotionEvent firstUp,MotionEvent secondDown) {if (!mAlwaysInBiggerTapRegion) {return false;}final long deltaTime = secondDown.getEventTime() - firstUp.getEventTime();if (deltaTime > DOUBLE_TAP_TIMEOUT || deltaTime < DOUBLE_TAP_MIN_TIME) {return false;}int deltaX = (int) firstDown.getX() - (int) secondDown.getX();int deltaY = (int) firstDown.getY() - (int) secondDown.getY();return (deltaX * deltaX + deltaY * deltaY < mDoubleTapSlopSquare);}private class GestureHandler extends Handler {GestureHandler() {super();}GestureHandler(Handler handler) {super(handler.getLooper());}@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case SHOW_PRESS:mListener.onShowPress(mCurrentDownEvent);break;case LONG_PRESS:dispatchLongPress();break;case TAP:// If the user's finger is still down, do not count it as a tapif (mDoubleTapListener != null) {if (!mStillDown) {mDoubleTapListener.onSingleTapConfirmed(mCurrentDownEvent);} else {mDeferConfirmSingleTap = true;}}break;default:throw new RuntimeException("Unknown message " + msg); //never}}

详细能够參考源代码,这里是妙用了mHandler.sendEmptyMessageDelayed。假设在DOUBLE_TAP_TIMEOUT时间内mHandler把TAP消息发送出去了。就是单击时间,假设在这个时间内没有发送出去,就是双击事件。

转载于:https://www.cnblogs.com/bhlsheji/p/5207701.html

Android应用开发经常使用知识相关推荐

  1. Android camera(4)---Android Camera开发之基础知识篇

    Android Camera开发之基础知识篇 转自:https://blog.csdn.net/feiduclear_up/article/details/51968975#jump5 概述 Andr ...

  2. android邮件系统开发的基础知识

    网络开发必备的HTTP协议知识 一.什么是HTTP协议 HTTP协议是一种应用层协议,HTTP是HyperText Transfer Protocol(超文本传输协议)的英文缩写.HTTP可以通过传输 ...

  3. android开发应用知识,Android应用开发经常使用知识

    在其它站点看到的,Mark一下 1.近期打开的应用不在近期任务列表中显示 android:excludeFromRecents="true" 设置为true,则排除在近期任务列表之 ...

  4. 转载CSDN博文精选:Android系列开发博客资源汇总

    CSDN博客本期热文推荐,为您介绍有关Android应用开发的10个博客,分享他们的日积月累的宝贵经验,希望这些文章对Android开发者们能有所启发和帮助. [1] 张国威:Android从入门到提 ...

  5. Android 音频开发(一) 基础入门篇

    今天主要讲解下Android音频开发的入门知识,希望对想入门却不知如何下手的朋友有所帮助,同时希望能得到高手的指点和帮助. 深入细化基础技能知识点 大致细化如下10个知识点. 音频开发的主要应用有哪些 ...

  6. 在Android软件开发教学过程中应当注意的事项总结

    近些年来,为了提升学生就业率和收入水平,某些高校或培训机构将Android软件开发当做一门专业学科.Android学科的主要目标是培养学生快速掌握Android开发基本知识和技能,以便于学生利用掌握的 ...

  7. Android相机开发和遇到的坑

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/53350551 文章出自:薛瑄的博客 在Android相机开发实际开发过程中遇到了不 ...

  8. 《 Android物联网开发从入门到实战》

    今天小编分享的这本书是国内第一本Android物联网开发书籍,由42个全真实战案例,环环相扣,深入解析Android物联网开发. <Android物联网开发从入门到实战>内容分为 5篇,共 ...

  9. CSDN博文精选:Android系列开发博客资源汇总

    CSDN博客本期热文推荐,为您介绍有关Android应用开发的10个博客,分享他们的日积月累的宝贵经验,希望这些文章对Android开发者们能有所启发和帮助. [1] 张国威:Android从入门到提 ...

最新文章

  1. 测序仪的序列:DNA测序的历史
  2. 不错php文件缓存类,一个不错的PHP文件页面缓存类
  3. XCTF-高手进阶区:Web_php_include
  4. Spark Streaming 实现思路与模块概述
  5. 【渝粤教育】电大中专市场营销管理 (2)作业 题库
  6. GitHub 版本控制 项目托管 02 搭建GitHub运行环境
  7. 捕鱼达人 FishMaster 记录(Done)
  8. dev-cpp linux,QT4+Devcpp开发环境搭建(参照网上资料整理)
  9. android超大屏触摸设备,世界上最大的安卓Android平板电脑具有98英寸的屏幕
  10. 硬件工程师学习英语必备
  11. 幅度谱、相位谱、能量谱等语音信号处理中的基础知识
  12. A记录 CNAME记录是什么 | DNS 查询的过程 | DNS 根服务器是什么 | 配置域名 CNAME 原理
  13. 17.Future 介绍与主要用法
  14. 改变图片尺寸,文件大小,分辨率300dpi的方法
  15. c语言怎么快速读出函数作用,读文件fread函数的用法
  16. 路由中的shells / CLI
  17. Incaseformat 蠕虫病毒威胁通告
  18. 使用echarts配置中国地图
  19. JAVA中字符串倒序、判断名字中英文、判断手机号格式以及正则表达式应用
  20. 游戏中的答题活动也可以通过远程代答么?

热门文章

  1. java 获取资源,Java资源获取
  2. create 执行存储过程报错出现符号_年薪百万之路--第四十天 存储引擎
  3. 图片批量重命名编号_碾压市面上90%“批量改名、批量重命名软件”
  4. 2.3.2 spring属性注入-注解注入-半注解注入-后序
  5. linux eclipse go插件,Eclipse的Go插件(goclipse)
  6. python自动化测试框架pytest.pdf_Python 自动化测试框架 unittest 和 pytest 对比
  7. 为什么6lowpan 要有四个地址_为什么你打玻尿酸,能被人一眼看出来?这四个地方要谨慎注射!...
  8. wireshark合并多个文件_小技巧:快速合并多个excel文件(收藏版)
  9. arrays中copyof_为什么阿里巴巴开发手册明确说明 Arrays.asList() 不能使用其修改方法?...
  10. python列表操作函数大全_Python列表操作函数