![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android学习之路
文章平均质量分 78
xinyang_code
记录自己的学习之路
展开
-
Material Design 学习之Toolbar(第二行代码笔记)
概述Material Design(以下简称md)是google在2014年的 I/O大会上推出的android设计语言.15年I/O大会上推出了Design support库,这个库将md中最具代表性的一些效果和控件进行了封装,使得开发者可以更方便的来实现md设计语言.OK,开始学习吧!toolbartoolbar是用来替代actionbar的。actionbar只能固定在顶部,不能配合完成一些m原创 2017-02-28 19:08:16 · 604 阅读 · 0 评论 -
Android属性动画
动画效果在App开发中是不可或缺的重要内容,我们首选用3.0之后的属性动画来实现动画效果.概念顾名思义,属性动画就是通过改变View某些属性值而产生动画效果.通过设置好的目标值及动画时间等参数,系统会帮我们计算好某个时间对应的属性值,甚至在ViewPropertyAnimator和ObjectAnimator中会直接帮我们更新计算后的属性值.系统为我们提供了三种使用属性动画的API...原创 2018-08-06 15:50:02 · 202 阅读 · 0 评论 -
Android中View的测量和布局过程
一直以来只是粗略的知道View的绘制会经过measure、layout到最终的draw三个过程,但对其中详细的measure和layout过程一无所知,很影响对一些特殊场景下的布局。ViewRoot和DecorViewViewRootViewRoot对应ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewR...原创 2018-08-06 15:49:05 · 559 阅读 · 0 评论 -
Android自定义Behavior
Behavior是CoordinatorLayout的核心,系统提供了一些实现好的效果,如ScrollingViewBehavior、BottomSheetBehavior、SwipeDismissBehavior等,但想要根据业务要求实现一些复杂的效果,还是需要掌握自定义Behavior。如何自定义Behavior自定义Behavior有两种方式,当然都需要继承Coordinator...原创 2018-08-06 15:47:04 · 599 阅读 · 0 评论 -
Android中ToolBar&AppbarLayout的基本使用
Toolbartoolbar使用来替代ActionBar的,更灵活,也更符合md设计规范.如何使用?替换主题为NoActionBar系列xml中加入toolbar控件activity中使用 setSupportActionBar(toolbar);替换ActionBar设置相应属性咋可使用 getSupportActionBar()来获取ActionBar实例设置tool...原创 2018-08-06 15:46:00 · 1091 阅读 · 0 评论 -
Android闪屏页圆形倒计时进度条实现
前言现在我们的App中基本都会有闪屏页面,而闪屏页中大多又都会加入广告信息或者我们自己logo等宣传图片的展示,类似如下效果: 思路使用自定义View,通过View的重绘方法Invalidate()在onDraw()中不断绘制不同弧度的圆弧来改变显示进度,是不是很简单?下面就来一起看一下具体的实现啦~确定绘制位置,首先在onDraw()中获取View的宽高,定义出一个矩形为我们的绘制范围:原创 2017-12-15 01:15:27 · 1475 阅读 · 0 评论 -
Android 普通View截图 RecyclerView截图 ScrollView截图分享
思路实际开发中经常会遇到应用内截图的相关问题,如果是普通View的话我们可以使用View的绘图缓存来获取截图,但是RecyclerView和ScrollView呢就稍微有点不同了。ScrollView还好,只有一个子View,而RecyclerView中会有itemView重用的问题,只会绘制在屏幕上显示出来的itemView,因此我们可以依次获取每个itemView的视图存储到LruCache中,原创 2017-12-22 22:40:56 · 2698 阅读 · 0 评论 -
Android 签名打包后的APP在后台运行时按icon导致程序重启的奇葩问题解决
公司项目在完结时遇到一个问题,用正式签名打包后进行测试发现,在程序正常运行时按下home键返回桌面,此时再点击APP的icon并不会回到之前的状态,而是会从splash页开始重启程序,而从任务列表里打开APP则无此问题,在debug签名下也并没有遇到这个问题.后来查了查据说这是studio打包的bug.解决方法如下在你的启动页加入如下代码:if (!isTaskRoot()) {原创 2017-01-22 14:14:41 · 1143 阅读 · 0 评论 -
item可拖拽的GridView实现
之前的项目中有个类似网易新闻的标签排序功能.长按某个标签后可拖动进行排序,当时用GridView实现的,今天复习总结,记录一下.概述这个效果实现起来并不难,我先说一下大体思路,随后附上代码.创建一个当前item的镜像view,并隐藏当前item,在move时更新view的layoutParams来改变镜像view的位置,同时判断当前位置的pos,如果有变化则隐藏当前位置item,让之前隐藏的item原创 2017-02-25 19:04:35 · 406 阅读 · 0 评论 -
Android 国际化之多语言切换
前言android的国际化很简单,大家都知道创建对应国家编码的values文件夹就好啦。可是很多人不知道如何手动切换app的语言,而不是只能跟随系统语言变化,下面就介绍一下啦!直接贴代码吧/** * 设置当前语言 * * @param language */ private void setLanguage(String language) {原创 2017-06-11 22:24:47 · 4177 阅读 · 2 评论 -
Android 仿去哪儿携程地址互换效果
昨天朋友项目中有个需求让我帮忙看看怎么搞,就跟去哪儿携程买机票时点中间按钮互换出发地和目的地的效果,当时一看觉得挺简单,用补间动画,在动画完成时设置给两边各textview互换值就好,做出来后发现效果不好,在最后互换值得时候会有闪烁,于是就用了一种较为麻烦的方法,不过效果是达到了,记录一下.git效果不好… 内容 简单说下思路,在点击互换按钮后:计算互换位置的需要的偏移量: 这里需要需原创 2017-03-03 20:01:25 · 2684 阅读 · 2 评论 -
Android_RecyclerView实现上下滚动广告条(带图片)
前言公司新项目首页有个类似京东/淘宝滚动广告条,查了一下大概都是两种实现方式,一是textview,如果只有文字的话是可行的,但我们这个上面还有个小图片,所以pass;二是两个viewGroup,使用动画交替滚动,可以实现,就是显得很麻烦,于是偷懒的我就想着用recyclerView来解决这个小问题!思路这个滚动广告条高度通常是固定的,用一个固定高度的viewGroup来包裹一个recyclerVi原创 2017-06-11 20:21:35 · 2928 阅读 · 0 评论 -
Android View的事件分发
概述在android中View的事件传递也算是比较核心的知识点,只有掌握了事件传递机制才能在项目中处理滑动冲突.概念 view的事件传递,首先要知道事件是什么,一般指的就是MotionEvent,我们从点击屏幕到抬起,会生成一个down、若干个move、和一个up事件(有时还有cancel),这一系列事件合在一起就是一个事件序列。事件分发的主要方法dispatchTouchEvent(); 此原创 2017-02-26 17:49:59 · 438 阅读 · 0 评论 -
高德地图找不到so文件的错误解决
概述之前在集成高德地图时刚开始一切正常,后来项目中加了一个图片选择的框架后地图成了白屏,一开始没注意,后来经过仔细查找才发现原因.就是找不到高德自己的so文件了. 原因 一般我们会把需要的so文件放在jniLibs目录下. android目前支持7种架构的cpu,所以一般会在jniLibs下放置几种对应cpu架构的文件夹(即使你只放一个,有些依赖的库也会使用多个). 这样就会原创 2017-02-25 19:47:49 · 2466 阅读 · 0 评论 -
Android 解决打包时提示65536问题
公司项目在打包时遇到了传说中的65536问题,如以下提示:Conversion to Dalvik format failed:Unable to execute dex: method ID not in [0, 0xffff]: 65536在Android中,一个Dex中存储方法id用的是short类型数据,所以我们的方法总数不能超过64K解决方法:第一步:修改主module中的build.g原创 2017-01-22 15:09:10 · 2838 阅读 · 0 评论 -
Android中集成FFmpeg及NDK基础知识
前言在日常App开发中,难免有些功能是需要借助NDK来完成的,比如现在常见的音视频处理等,今天就以ffmpeg入手,来学习下Android NDK开发的套路.JNI和NDK很多人并不清除JNI和NDK的概念,经常搞混这两样东西,先来看看它们各自的定义吧.JNI是什么 JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其...原创 2018-08-06 15:50:44 · 1954 阅读 · 0 评论