Welcome 微信登录

首页 / 移动开发 / Android

Android自定义View绘图实现拖影动画

Android自定义View绘图实现拖影动画

前几天在“Android绘图之渐隐动画”一文中通过画线实现了渐隐动画,但里面有个问题,画笔较粗(大于1)时线段之间会有裂隙,我又改进了一下。这次效果好多了。先看效果吧:然后我们来说说基本的做法:•根据画笔宽度,计算每一条线段两个顶点对应的四个点,四点连线,包围线段,形成一个路径。•后一条线段的路径的前两个点,取(等于)前一条线段的后两点,这样就衔接起来了。把Path的Style修改为FILL,效果是这样的:可以看到一个个四边形,连成...
Android自定义View绘图实现渐隐动画

Android自定义View绘图实现渐隐动画

实现了一个有趣的小东西:使用自定义View绘图,一边画线,画出的线条渐渐变淡,直到消失。效果如下图所示:用属性动画或者渐变填充(Shader)可以做到一笔一笔的变化,但要想一笔渐变(手指不抬起边画边渐隐),没在Android中找到现成的API可用。所以,自己做了一个。基本的想法是这样的:•在View的onTouchEvent中记录触摸点,生成一条一条的线LineElement,放在一个List中。给每个LineElement配置一个Paint实...
Android自定义状态栏颜色与应用标题栏颜色一致

Android自定义状态栏颜色与应用标题栏颜色一致

每次看IOS上的应用,应用中状态栏的颜色总能与应用标题栏颜色保持一致,用户体验很不错,对于这种效果,像我这种好奇心强的人就会去看看那安卓是否可以呢?若是在安卓4.4之前,答案是否定的,但在4.4之后,谷歌允许开发者自定义状态栏背景颜色啦,这是个不错的体验!若你手机上安装有最新版的qq,并且你的安卓SDK版本是4.4及以上,你可以看下它的效果:实现此功能有两种方法:1.在xml中设置主题或自定义style;Theme.Holo.Light.NoActionB...
Android RecyclerView 基础知识详解

Android RecyclerView 基础知识详解

本周的谷歌I/O大会带来了很多关于Android的振奋人心的消息。可能我们需要较长的时间来消化Android L引入的新东西。这些天我一直在研究RecyclerView,并想在此给各位分享一下到目前为止我的成果。RecyclerView是什么?RecyclerView是一种新的视图组,目标是为任何基于适配器的视图提供相似的渲染方式。它被作为ListView和GridView控件的继承者,在最新的support-V7版本中提供支持。在开发Recycl...
Android RecyclerView 数据绑定实例代码

Android RecyclerView 数据绑定实例代码

前言在上一个项目里有很多很多很多很多的RecyclerView,然后我需要写很多很多很多很多的Adapter和Viewholder——多倒没问题,但是里面有很多重复的代码这就不能忍了!每一个Adapter和ViewHolder其实做的事情非常的像:视图绑定,数据绑定,点击事件分发。还有啥?既然它们做的事情都一样,为啥我们还要傻傻的继续写着重复的代码?正文BaseAdapter通常我们要创建一个RecyclerView.Adapter是怎么做的?接收一个数据...
Android NDK开发的环境搭建与简单示例

Android NDK开发的环境搭建与简单示例

一、NDK与JNI简介NDK全称为native development kit本地语言(C&C++)开发包。而对应的是经常接触的Android-SDK,(software development kit)软件开发包(只支持java语言开发)。简单来说利用NDK,可以开发纯C&C++的代码,然后编译成库,让利用Android-SDK开发的Java程序调用。NDK开发的可以称之为底层开发或者jni(java native interface)层开发,SDK开发...
Android 面试精华题目总结

Android 面试精华题目总结

下面的题目都是楼主在android交流群大家面试时遇到的,如果大家有好的题目或者好的见解欢迎分享,楼主将长期维护此帖。某公司高级面试题(2015-03-14)【感谢helder分享】1、详述Android系统架构,包括层与层之间调用、binder、jni、底层文件读写方法2、描述自己的一个项目,要求画出结构图,UML图,详细描述项目种的技术点,技术难点以及解决方案3、一道算法4、谈谈自己项目管理的方法、对敏捷软件开发的理解基础面试题(2014-04-18)...
Android界面数据懒加载实现代码

Android界面数据懒加载实现代码

家在使用手机新闻客户端的时候就会有一个发现,大多数的新闻客户端都会把新闻分类,诸如头条、娱乐、体育、科技等等,如何实现这种界面的呢?这个实现起来其实很简单,就是在一个Fragment中实现多个ViewPage的切换,再在ViewPage的上面放一个TabLayout,关联起来就可以实现联动效果。如果大家感觉不太明了的话,以后我可以专门写一篇关于Fragment中放入多个ViewPage的博客,今天,我主要介绍的是怎样实现界面即Fragment的懒加载。那么...
Android使用RecyclerView实现水平滚动控件

Android使用RecyclerView实现水平滚动控件

前言相信大家都知道Android滚动控件的实现方式有很多, 使用RecyclerView也比较简单. 做了一个简单的年龄滚动控件, 让我们来看看RecyclerView的使用方式, 主要有以下几点: (1) 对齐控件中心位置. (2) 计算滚动距离. (3) 高亮中心视图. (4) 实时显示中心数据. (5) 停止时自动对齐. (6) 滚动时, 设置按钮状态开关.效果1. 框架主要关注RecyclerView部分逻辑. /*** 初始化年龄滑动条*/ p...
使用 Lambda 取代 Android 中的匿名类

使用 Lambda 取代 Android 中的匿名类

Lambda是第十一个希腊字母,大写Λ,小写λ,额,跑题了…Lambda表达式 是Java8的新特性之一:Lambda表达式函数式接口流API默认方法新的DateTime APILambda表达式 取代了匿名类 ,取消了模板,允许用函数式风格编写代码。由于最近接触了RxJava,遇到了Lambda,立马就喜欢上了~所以就学习了一下.本文主要介绍一下Lambda在Android中替代匿名类的部分使用场景.在Android中使用Lambdagradle-ret...
Android实现登陆页logo随键盘收放动态伸缩(完美解决键盘弹出遮挡控件的问题)

Android实现登陆页logo随键盘收放动态伸缩(完美解决键盘弹出遮挡控件的问题)

在最近的两个项目中,项目需求要求我们实现 /*登陆页面的内容能够随着键盘的弹出而被顶上去,避免键盘遮挡住登陆按钮*/ 这样的效果,宝宝心里苦呀,本来半天搞定的事还非得折腾一下,好吧我妥协,毕竟我还是一只非常注重用户体验的猿。那就做吧,初步定下的方案是输入框和登陆按钮大小不变,在键盘弹出的时候让logo的大小和位置进行改变,从而给键盘腾出位置,当然在键盘收起的时候还要给它还原一下,就像什么都没发生一样,嗯对,就是这样,说了这么多,放张图先感受一下效果吧:接下...
AndroidStudio 如何使用aar详解

AndroidStudio 如何使用aar详解

一. 简介aar 是一个类似于 jar 的文件格式。但是他们之间是有区别的。jar :仅仅包含class和清单文件,没有资源文件。aar :包含了class文件和资源文件。说白了就是Android的专属“jar”将代码打包成aar文件,可以在一定程度上加快 AndroidStudio 的速度。尤其是将 Module 打包成 aar 文件,提升的效果很显著。二. 如何得到aar1. Module的aar文件将一个AndroidStudio项目中的 Modul...
Android UI组件AppWidget控件入门详解

Android UI组件AppWidget控件入门详解

Widget引入我们可以把Widget理解成放置在桌面上的小组件(挂件),有了Widget,我们可以很方便地直接在桌面上进行各种操作,例如播放音乐。当我们长按桌面时,可以看到Widget选项,如下图所示:点击上图中箭头处的widgets图标,会出现如下界面:(都是widget)长按上图中的任意一个widget,就可以将其放到桌面上。Widget的使用Widget的实现思路(1)在AndroidManifest中声明AppWidget;(2)在xml目录中定...
Android UI控件ExpandableListView基本用法详解

Android UI控件ExpandableListView基本用法详解

ExpandableListView介绍ExpandableListView的引入ExpandableListView可以显示一个视图垂直滚动显示两级列表中的条目,这不同于列表视图(ListView)。ExpandableListView允许有两个层次:一级列表中有二级列表。比如在手机设置中,对于分类,有很好的效果。手机版QQ也是这样的效果。使用ExpandableListView的整体思路(1)给ExpandableListView设置适配器,那么必须先...
<< 71 72 73 74 75 76 77 78 79 80 >>