Welcome 微信登录

首页 / 移动开发 / Android

Android手势操作简单实例讲解

Android手势操作简单实例讲解

上一篇介绍的onTouch提供的事件还是相对较简单,如果需要处理一些复杂的手势,用这个接口就会很麻烦,因为我们要根据用户触摸的轨迹去判断是什么手势。幸好Android SDK给我们提供了GestureDetector类,通过这个类我们可以识别很多的手势,主要是通过他的onTouchEvent(event)方法完成了不同手势的识别。 GestureDetector这个类对外提供了两个接口和一个外部类:•接口:OnGestureListener,O...
轻松实现功能强大的Android刮奖效果控件(ScratchView)

轻松实现功能强大的Android刮奖效果控件(ScratchView)

前言我身边有一部分开发的小伙伴,存在着这样一种习惯。某一天,突然看到某一款 App 上有个很漂亮的自定义控件(动画)效果,就会绞尽脑子想办法去自己实现一发。当然,我自己也是属于这类型的骚年,看到某种效果就会手痒难耐琢磨着实现套路。个人觉得这是一种需求驱动进步的方法,当你绞尽脑子去实现自己想要的效果时,你就会发现你对 Android 自定义控件(动画)的知识体系认识越深,久而久之,自己也能轻松的造出各种控件(动画)效果。要是哪天,产品童鞋拿着个原型(或者对着...
Android Service总结及详细介绍

Android Service总结及详细介绍

1、Service的种类按运行地点分类:类别区别优点缺点应用本地服务(Local)该服务依附在主进程上,服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL。相应bindService会方便很多。主进程被Kill后,服务便会终止。非常常见的应用如:HTC的音乐播放服务,天天动听音乐播放服务。远程服务(Remote)该服务是独立的进程,服务为独立的进程,对应进程名格式为所在包名加...
Android超实用的Toast提示框优化分享

Android超实用的Toast提示框优化分享

前言相信每位Android开发者都用过Toast,都知道是弹出消息的。类似于js里面的alert,C#里面的MesageBox。当然android里面也有dialog,dialog是有焦点的,可与用户交互。而toast是没有焦点的,时间到了自动消失,不能回应用户的交互,下面就跟大家分享下Android中Toast提示框的优化方法。先看下源码:public class Toast { public static final int LENGTH_SHORT ...
简述angular自定义过滤器在页面和控制器中的使用

简述angular自定义过滤器在页面和控制器中的使用

AngularJS另一个特点就是提供了过滤器,可以通过操作UNIX下管道的方式,操作数据结果。 通过使用管道,可以便于双向的数据绑定中视图的展现。 过滤器在处理过程中,将数据变成新的格式,而且可以使用管道这种链式风格,还能接受附加的参数。首先设置自定义过滤器。 定义模块名:angular .module("myApp") .filter("filterName",function(){ retu...
Android自定义ViewGroup之FlowLayout(三)

Android自定义ViewGroup之FlowLayout(三)

本篇继续来讲自定义ViewGroup,给大家带来一个实例:FlowLayout。何为FlowLayout,就是控件根据ViewGroup的宽,自动的往右添加,如果当前行剩余空间不足,则自动添加到下一行,所以也叫流式布局。Android并没有提供流式布局,但是某些场合中,流式布局还是非常适合使用的,比如关键字标签,搜索热词列表等,比如下图:定义FlowLayoutLayoutParams,onLayout的写法都和上一篇讲WaterfallLayout一模一...
Android 程序申请权限注意事项

Android 程序申请权限注意事项

为Android 程序申请权限注意Android系统提供为程序提供了权限申请,即在manifest中使用uses-permission来申请即可.实现起来非常简单,但是有些问题会随之浮出水面. 常见的现象是,有时候新加一个权限,(在Google Play上)程序显示的支持的设备会减少.为什么权限越多,支持设备越少因为有些权限隐式地需要feature,即当你显示使用uses-permission,会默认地为程序加入uses-feature. 而Android...
RecyclerView Adapter辅助类详解及示例代码

RecyclerView Adapter辅助类详解及示例代码

是什么BaseRecyclerViewAdapterHelper是一个强大并且灵活的RecyclerViewAdapter能做什么可以大量减少你Adapter写的代码(和正常的Adapter相比至少三分之二的)可以添加点击事件可以很轻松的添加RecyclerView加载动画添加头部、添加尾部支持下拉刷新、上拉加载更多支持分组支持自定义item类型支持setEmptyView支持子布局多个控件的点击事件效果图配置使用在 build.gradle 的 repo...
Android 对话框 Dialog使用实例讲解

Android 对话框 Dialog使用实例讲解

对话框 Dialog什么是对话框对话框是在当前的页面之上弹出的小窗口, 用于显示一些重要的提示信息, 提示用户的输入,确认信息,或显示某种状态.如 : 显示进度条对话框, 退出提示.对话框的特点:1, 当前界面弹出的小窗口.2, 用户要与它进行交互, 可以接收用户输入的信息, 也可以反馈信息给用户.常用对话框:1, 普通对话框 AlertDialog2, 进度条对话框 ProgressDialog3, 日期对话框 DatePickerDialog4, 时间...
Android自定义ViewGroup实现标签流容器FlowLayout

Android自定义ViewGroup实现标签流容器FlowLayout

本篇文章讲的是Android 自定义ViewGroup之实现标签流式布局-FlowLayout,开发中我们会经常需要实现类似于热门标签等自动换行的流式布局的功能,网上也有很多这样的FlowLayout,但不影响我对其的学习。和往常一样,主要还是想总结一下自定义ViewGroup的开发过程以及一些需要注意的地方。按照惯例,我们先来看看效果图一、写代码之前,有几个是问题是我们先要弄清楚的: 1、什么是ViewGroup:从名字上来看,它可以被翻译为控件组,言外...
Android 传感器--光照传感器详解及使用

Android 传感器--光照传感器详解及使用

Android 设备中有许多传感器,其中有一个传感器控制着你屏幕亮度的变化。当你在很暗的地方使用手机,你设备的屏幕会自动调暗,从而保护你眼睛。起着这样作用,Android是通过一款光照传感器来获取你周围环境亮度的变化。光照传感器一般在手机的顶部的位置。要在程序中使用这款传感器(1)首先要获取SensorManager传感器管理器服务:SensorManager sensorManager=(SensorManager)getSystemService(Co...
Android Handler多线程详解

Android Handler多线程详解

Android--多线程之Handler前言 Android的消息传递机制是另外一种形式的“事件处理”,这种机制主要是为了解决Android应用中多线程的问题,在Android中不 允许Activity新启动的线程访问该Activity里的UI组件,这样会导致新启动的线程无法改变UI组件的属性值。但实际开发中,很多地方需要在 工作线程中改变UI组件的属性值,比如下载网络图片、动画等等。本篇博客主要介绍Handler是如何发送与处理线程上传递来的消息,并讲...
Android实现左右摆动的球体动画效果

Android实现左右摆动的球体动画效果

首先,看一下效果 可能各位在别处看到过类似的东西,我在微信的文章末尾看到有个玩意,感觉有意思,就用代码实现一下。这篇文章主要把握写代码的思路展示一下。 看到上图,我想各位能想到最简单的实现方案就是用动画,切很多图出来,然后就可以轻松实现了。为了不让自己再舒适区里呆的太安逸,就弄点麻烦的:通过计算来实现。文章的末尾会将全部代码贴出,复制可以直接运行。需要回忆的知识重力势能 E = mgh动能 E = ½mv²在理想状态下,动能和重力式...
Android中的指纹识别demo开发实例

Android中的指纹识别demo开发实例

指纹识别是在Android 6.0之后新增的功能,因此在使用的时候需要先判断用户手机的系统版本是否支持指纹识别。另外,实际开发场景中,使用指纹的主要场景有两种:纯本地使用。即用户在本地完成指纹识别后,不需要将指纹的相关信息给后台。与后台交互。用户在本地完成指纹识别后,需要将指纹相关的信息传给后台。由于使用指纹识别功能需要一个加密对象(CryptoObject)该对象一般是由对称加密或者非对称加密获得。上述两种开发场景的实现大同小异,主要区别在于加密过程中密...
Android 多线程处理之多线程详解

Android 多线程处理之多线程详解

handler.post(r)其实这样并不会新起线程,只是执行的runnable里的run()方法,却没有执行start()方法,所以runnable走的还是UI线程。1.如果像这样,是可以操作ui,但是run还是走在主线程,见打印出来的Log线程名字是main,说明是主线程。这就是为什么可以直接在run方法里操作ui,因为它本质还是ui线程handler.post(new Runnable(){ public void run(){ Log.e("当...
<< 81 82 83 84 85 86 87 88 89 90 >>