Welcome 微信登录

首页 / 移动开发 / Android

Android组件Glide实现图片平滑滚动效果

Android组件Glide实现图片平滑滚动效果

Glide是一款基于Android的图片加载和图片缓存组件,它可以最大性能地在Android设备上读取、解码、显示图片和视频。Glide可以将远程的图片、视频、动画图片等缓存在设备本地,便于提高用户浏览图片的流畅体验。Glide最核心的功能就是提高滚动图片列表的性能,并且Glide还能满足对远程图片的读取、改变尺寸以及展示的性能要求。Glide使用方法最简单的示例代码如下:// For a simple view:@Overridepublic void ...
当ListView有Header时 onItemClick里的position不正确的原因

当ListView有Header时 onItemClick里的position不正确的原因

当ListView实例addheaderView()或者addFooterView后,再通过setAdapter来添加适配器,此时在ListView实例变量里保存的适配器变量与我们传入的适配器变量不是同一个了。具体可参考源码:因此,当有headerView或footerView的时候,要通过getAdapter()获取到适配器,而不是直接使用调用setAdapter是传入的入参。以上所述是小编给大家介绍的当ListView有Header时 onItemCl...
Android使用Handler和Message更新UI

Android使用Handler和Message更新UI

在Android中,在非主线程中更新UI控件是不安全的,app在运行时会直接Crash,所以当我们需要在非主线程中更新UI控件,那么就需要用到Handler和Message来实现Demo中,使用到一个按钮和一个TextView,点击按钮之后改变TextView的内容,按钮点击时候新建一个进程,在进程中对UI控件进行修改。public class MainActivity extends Activity implements OnClickListener...
Android抢红包助手开发全攻略

Android抢红包助手开发全攻略

背景:新年之际,微信微博支付宝红包是到处飞,但是,自己的手速总是比别人慢一点最后导致红包没抢到,红包助手就应运而生。需求:收到红包的时候进行提醒,然后跳转到红包的界面方便用户。思路:获取“读取通知信息”权限,然后开启服务监控系统通知,判断如果是微信红包就进行提醒(声音),然后跳转到红包所在的地方。界面:界面分为两部分,一部分是可以对App进行操作的,下面是一个可以滑动的界面,提示用户如何是软件正常工作,布局代码如下:<?xml version...
Android二维码开发学习教程

Android二维码开发学习教程

二维码其实有很多种,但是我们常见的微信使用的是一种叫做QRCode的二维码,像下面这样的,可以放心的扫,这只是我的博客主页链接啦:关于QR码编码的二维码,我们要知道几个特点:1. 扫描时可以从各个角度去扫,也就是旋转多少度都没关系,不信吗?下次去肯德基买单试试咯。2. 二维码有容错率,容错率越大,生成的二维码也就越复杂,但是越不容易出错,并且,当二维码被遮挡的时候也越容易扫描出来。这里我上传的二维码容错为30%,可以从左上角开始扫描,大概扫描到下图范围的时...
Android App开发的自动化测试框架UI Automator使用教程

Android App开发的自动化测试框架UI Automator使用教程

Android的自动化测试有很多框架,其中ui automator是google官方提供的黑盒UI相关的自动化测试工具,(GitHub主页:case使用java写,今天实践了一下官方文档中样例程序,其中还是有一些小问题需要总结一下的。环境准备:1.JDK(是的,你没看错,基础的android开发环境必备),以及对应的环境变量配置,不会的可以自己百度下下2.Android Studio(IDE尊崇个人意愿)3.android SDK以及配置4.ANT(主要用...
Android代码实现AdapterViews和RecyclerView无限滚动

Android代码实现AdapterViews和RecyclerView无限滚动

应用的一个共同的特点就是当用户欢动时自动加载更多的内容,这是通过用户滑动触发一定的阈值时发送数据请求实现的。 相同的是:信息实现滑动的效果需要定义在列表中最后一个可见项,和某些类型的阈值以便于开始在最后一项到达之前开始抓取数据,实现无限的滚动。 实现无限滚动的现象的重要之处就在于在用户滑动到最低端之前就行数据的获取,所以需要加上一个阈值来帮助实现获取数据的预期。使用ListView和GridView实现每个AdapterView 例如ListView 和G...
Android自定义ViewGroup实现带箭头的圆角矩形菜单

Android自定义ViewGroup实现带箭头的圆角矩形菜单

本文和大家一起做一个带箭头的圆角矩形菜单,大概长下面这个样子:要求顶上的箭头要对准菜单锚点,菜单项按压反色,菜单背景色和按压色可配置。最简单的做法就是让UX给个三角形的图片往上一贴,但是转念一想这样是不是太low了点,而且不同分辨率也不太好适配,干脆自定义一个ViewGroup吧!自定义ViewGroup其实很简单,基本都是按一定的套路来的。一、定义一个attrs.xml就是声明一下你的这个自定义View有哪些可配置的属性,将来使用的时候可以自由配置。这里...
Android属性动画实现布局的下拉展开效果

Android属性动画实现布局的下拉展开效果

在Android的3.0之后,google又提出了属性动画的这样一个框架,他可以更好的帮助我们实现更丰富的动画效果。所以为了跟上技术的步伐,今天就聊一聊属性动画。这一次的需求是这样的:当点击一个View的时候,显示下面隐藏的一个View,要实现这个功能,需要将V iew的visibility属性设置gone为visible即可,但是这个过程是一瞬间的,并不能实现我们要的效果。所以,属性动画是个不错的方案。先把效果贴上第一个:第二个:前面的这个是隐藏着,后面...
Android自定义View仿QQ等级天数进度

Android自定义View仿QQ等级天数进度

最近一直都在看自定义View这一块。差不多一个星期了吧。这个星期坚持每天更新博客,感觉自己的技术也有点突破,对自定义View的计算也有了更深的认识。今天看到手机一个成长天数进度的控件,觉得挺有意思的,于是想自己也写一个。效果如下:由图可以知道,这里面有很多个元素,首先是背景的矩形区域,其次就是两个环形,然后三个Text文本。其实不复杂,我们一点一点的去实现。首先呢,画矩形背景。这里用到一个RectF的类,这个类包含一个矩形的四个单精度浮点坐标。矩形通过上下...
Android自定义View弧线进度控件

Android自定义View弧线进度控件

这个是一个以弧线为依托的进度控件,主要包括了两个圆弧、一个圆、一个文本。当我们点击开始按钮的时候,会出现一个动画,逐渐的出现进度,好了,下面开始我们的编码。新建一个类,继承自View,实现三个构造方法,接着定义变量,初始化变量的数据。代码如下:private Paint mArcPaint, mCirclePaint, mTextPaint, mPaint; private float length; private float mRadius; priv...
Android仿ViVO X6 极速闪充动画效果

Android仿ViVO X6 极速闪充动画效果

一直都在看自定义View,经过一个星期的坚持,基本上能够写出一些比较实用的控件效果了,今天天气太热,就待在家里玩手机,然后手机没电了,在充电的时候,看到了手机的充电动画,觉得挺酷,然后自己我就仔细的分析了一下这里的动画内容,就觉得,这个我也能写出来,所以就有了这篇博客。纯属原创。先看看效果,因为图片的原因,只能看到静态的。这个就是效果图了。当然了,这么看好像不怎么样,但是配上了动画,还是挺好看的。自定义控件的话,其实做的多了,运用的多了,就会觉得自定义Vi...
Android绘制音乐播放器示波器

Android绘制音乐播放器示波器

示波器是在大学的时候老师教的,但是出来工作一直没有用到过,渐渐的也就忘记了,现在重新学习一下。来看看效果图:这里是一个自定义的柱状图,然后有一个按钮,点击按钮的时候,这里柱子会不停的运动,类似于音乐播放器里示波器的跳动。跟前面几个自定义view的方式类似,重写了onSizeChange()方法和onDraw()方法 先列一下我们要用到的变量: /**画笔*/ private Paint mPaint; /**控件的宽度*/ private float mW...
Android 权限(permission)整理

Android 权限(permission)整理

在Android的设计中,资源的访问或者网络连接,要得到这些服务都需要声明其访问权限,否则将无法正常工作。在Android中这样的权限有很多种,这里将各类访问权限一一罗列出来,供大家使用时参考之用。1.android.permission.WRITE_USER_DICTIONARY允许应用程序向用户词典中写入新词2.android.permission.WRITE_SYNC_SETTINGS写入Google在线同步设置3.android.permissio...
Android实现无标题栏全屏的方法

Android实现无标题栏全屏的方法

Android中实现全屏、无标题栏的两种办法,另附Android系统自带样式的解释实现全屏无标题栏:1.在xml文件中进行配置 AndroidManifest.xml中,找到需要全屏或设置成无标题栏的Activity,在该Activity进行如下配置即可。 实现全屏效果: android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 实现无标题栏(但有系统自带的任务栏): android:theme=...
Android使用OKHttp包处理HTTP相关操作的基本用法讲解

Android使用OKHttp包处理HTTP相关操作的基本用法讲解

OKHttp是一款高效的HTTP客户端,支持连接同一地址的链接共享同一个socket,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势。(GitHub页:https://github.com/square/okhttp)Android为我们提供了两种HTTP交互的方式:HttpURLConnection 和 Apache HTTP Client,虽然两者都支持HTTPS,流的上传和下载,配置超时,IPv6和连接池,已足够满足我们各种HTTP...
Android中使用OkHttp包处理HTTP的get和post请求的方法

Android中使用OkHttp包处理HTTP的get和post请求的方法

概览http是现在主流应用使用的网络请求方式, 用来交换数据和内容, 有效的使用HTTP可以使你的APP 变的更快和减少流量的使用OkHttp 是一个很棒HTTP客户端(GitHub主页:https://github.com/square/okhttp):支持SPDY, 可以合并多个到同一个主机的请求使用连接池技术减少请求的延迟(如果SPDY是可用的话)使用GZIP压缩减少传输的数据量缓存响应避免重复的网络请求当你的网络出现拥挤的时候,就是OKHttp 大...
<< 281 282 283 284 285 286 287 288 289 290 >>