Welcome 微信登录

首页 / 移动开发 / Android

Android View移动的3种方式总结

Android View移动的3种方式总结

前言在Android开发中,View一直是Android开发人员的一块心病,一方面想要进阶,一方面又害怕进阶,可以说Android的View是进阶路上的最大绊脚石,因为它涉及的东西太多了,比如本次我们此次要写的View移动,另外还包括View的触摸事件的传递,创建自定义View,这些都是极其重要且不得不面对的难题。但是无论如何,现在不克服的困难将来就会被困难克服。在此之前,我们还是先了解Android坐标系的定义规则以及View的一些位置参数。Androi...
Android开发 OpenGL ES绘制3D 图形实例详解

Android开发 OpenGL ES绘制3D 图形实例详解

OpenGL ES是 OpenGL三维图形API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。 Ophone目前支持OpenGL ES 1.0 ,OpenGL ES 1.0 是以 OpenGL 1.3 规范为基础的,OpenGL ES 1.1 是以 OpenGL 1.5 规范为基础的。本文主要介绍利用OpenGL ES绘制图形方面的基本步骤。本文内容由三部分构成。首先通过EGL获得OpenGL ES的编程接口;其次介绍构建3D程序的基本概念;最后...
Android 轻松实现语音识别详解及实例代码

Android 轻松实现语音识别详解及实例代码

使用Intent调用语音识别程序说明Android中主要通过RecognizerIntent来实现语音识别,其实代码比较简单,但是如果找不到语音识别设备,就会抛出异常 ActivityNotFoundException,所以我们需要捕捉这个异常。而且语音识别在模拟器上是无法测试的,因为语音识别是访问google 云端数据,所以如果手机的网络没有开启,就无法实现识别声音的!一定要开启手机的网络,如果手机不存在语音识别功能的话,也是无法启用识别!注意:使用前需...
百度语音识别(Baidu Voice) Android studio版本详解

百度语音识别(Baidu Voice) Android studio版本详解

百度语音识别(Baidu Voice) Android studio版本 已同步更新至个人blog:http://dxjia.cn/2016/02/29/baidu-voice-helper/ 最近在一个练手小项目里要用到语音识别,搜索了一下,比较容易集成的就算Baidu voice跟讯飞语音了,baidu提供了直接可以使用的显示控件,而讯飞需要自己实现,另外baidu提供每天5W次的调用频率,对于我来说足够使用啦。所以就选择使用Baidu Voice(控...
Android语音识别技术详解及实例代码

Android语音识别技术详解及实例代码

今天从网上找了个例子实现了语音识别,个人感觉挺好玩的,就把代码贴出来与大家分享下: Android中主要通过RecognizerIntent来实现语音识别,其实代码比较简单,但是如果找不到设置,就会抛出异常ActivityNotFoundException,所以我们需要捕捉这个异常。而且语音识别在模拟器上是无法测试的,因为语音识别是访问google云端数据,所以如果手机的网络没有开启,就无法实现识别声音的!一定要开启手机的网络,如果手机不存在语音识别功能...
Android7.0 工具类:DiffUtil详解

Android7.0 工具类:DiffUtil详解

一 概述DiffUtil是support-v7:24.2.0中的新工具类,它用来比较两个数据集,寻找出旧数据集-》新数据集的最小变化量。 说到数据集,相信大家知道它是和谁相关的了,就是我的最爱,RecyclerView。 就我使用的这几天来看,它最大的用处就是在RecyclerView刷新时,不再无脑mAdapter.notifyDataSetChanged()。 以前无脑mAdapter.notifyDataSetChanged()有两个缺点:1.不会触...
Android ListView自动显示隐藏布局的实现方法

Android ListView自动显示隐藏布局的实现方法

借助View的OnTouchListener接口来监听listView的滑动,通过比较与上次坐标的大小,判断滑动方向,并通过滑动方向来判断是否需显示或者隐藏对应的布局,并且带有动画效果。1.自动显示隐藏Toolbar首先给listView增加一个HeaderView,避免第一个Item被Toolbar遮挡。View header=new View(this);header.setLayoutParams(new AbsListView.LayoutPara...
Android中src和background的区别详解

Android中src和background的区别详解

ImageView中XML属性src和background的区别:background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸。src是图片内容(前景),bg是背景,可以同时使用。此外:scaleType只对src起作用;bg可设置透明度,比如在ImageButton中就可以用android:scaleType控制图片的缩放方式,示例代码如下:<ImageView android:id="@+id/i...
Android指纹识别开发实例

Android指纹识别开发实例

Android M指纹的资料太少,经过一段时间阅读原生Android代码,写了以下例子,贡献出来给需要帮助的人。 以下内容基于64位的高通CPU,搭载fpc1020芯片,此部分代码在原生android上做了更改,以应付工厂指纹的测试。原生android指纹录入需要采集10次(因不同的芯片而定)。 代码简单说明: 1. FingerPrintEnrollBase类: 重要的是Java代码public interface Listener { void...
Android自定义View实现水面上涨效果

Android自定义View实现水面上涨效果

实现效果如下:实现思路:1、如何实现圆中水面上涨效果:利用Paint的setXfermode属性为PorterDuff.Mode.SRC_IN画出进度所在的矩形与圆的交集实现2、如何水波纹效果:利用贝塞尔曲线,动态改变波峰值,实现“随着进度的增加,水波纹逐渐变小的效果”话不多说,看代码。首先是自定义属性值,有哪些可自定义属性值呢?圆的背景颜色:circle_color,进度的颜色:progress_color,进度显示文字的颜色:text_color,进度...
Android IPC进程间通信详解最新AndroidStudio的AIDL操作)

Android IPC进程间通信详解最新AndroidStudio的AIDL操作)

前言前面梳理了Android的线程间的通信《Thread、Handler和HandlerThread关系何在?》 ,这些都是在同一个进程中,那进程间的通信,或者说不同的应用间的通信该如何实现呢?这个时候就要用到AIDL(Android Interface Definition LanguageAndroid接口定义语言 )。使用方法(AndroidStudio)我发现现在AIDL的教程基本上还是eclipse的,但是在AndroidStudio里面使用AI...
Android 消息机制以及handler的内存泄露

Android 消息机制以及handler的内存泄露

Handler每个初学Android开发的都绕不开Handler这个“坎”,为什么说是个坎呢,首先这是Android架构的精髓之一,其次大部分人都是知其然却不知其所以然。今天看到Handler.post这个方法之后决定再去翻翻源代码梳理一下Handler的实现机制。异步更新UI先来一个必背口诀“主线程不做耗时操作,子线程不更新UI”,这个规定应该是初学必知的,那要怎么来解决口诀里的问题呢,这时候Handler就出现在我们面前了(AsyncTask也行,不过...
Thread、Handler和HandlerThread关系详解

Thread、Handler和HandlerThread关系详解

前言前几天看到一道面试题:Thread、Handler和HandlerThread有什么区别?,这个题目有点意思,对于很多人来说,可能对Thread和Handler很熟悉,主要涉及到Android的消息机制(Handler、Message、Looper、MessageQueue),详见《 从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)》但是这个HandlerThread是拿来做什么的呢?...
Android Studio提示inotify大小不足的解决办法

Android Studio提示inotify大小不足的解决办法

前言Inotify会对工程内的所有文件夹设置”watch handle”。不幸的是,Linux默认的watch handle的限值不能满足实际工程大小的需要,超过限值将强制IntelliJ重新扫描项目目录的递归树(这将非常耗时)。为了避免这种问题,我们推荐修改提高watches的限值(一般521k就可以了),以下是具体的解决步骤。问题描述:使用Android Studio 导入AOSP源码并且indexing完,ide右上角可能抛出警告”Kernel in...
Android布局性能优化之按需加载View

Android布局性能优化之按需加载View

有时应用程序中会有一些很少用到的复杂布局。在需要它们的时候再加载可以降低内存的消耗,同时也可以加快界面的渲染速度。定义ViewStubViewStub是一个轻量级的View,它没有高宽,也不会绘制任何东西。所以它的加载与卸载的成本很低。每个ViewStub都可以使用android:layout属性指定要加载的布局。下面这个ViewStub用于一个半透明的ProgressBar的加载。它只有在新工作开始时才会显示。<ViewStubandroid:id...
Android实现音频条形图效果(仿音频动画无监听音频输入)

Android实现音频条形图效果(仿音频动画无监听音频输入)

音频条形图如下图所示就是这次的音频条形图:由于只是自定义View的用法,我们就不去真实地监听音频输入了,随机模拟一些数字即可。如果要实现一个如上图的静态音频条形图,相信大家应该可以很快找到思路,也就是绘制一个个的矩形,每个矩形之间稍微偏移一点距离即可。如下代码就展示了一种计算坐标的方法。for (int i = 0; i < mRectCount; i++) {// 矩形的绘制是从左边开始到上、右、下边(左右边距离左边画布边界的距离,上下边距离上边画...
<< 301 302 303 304 305 306 307 308 309 310 >>