![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
wangke_king
真正的光芒,需要一点点时间
展开
-
安卓ViewPager实现广告轮播
此博文用来记录安卓学习,后续的思路整理,可能会出现错误,欢迎指正…MainActivity的代码package com.merpyzf.slideshow;import android.app.Activity;import android.os.Bundle;import android.support.v4.view.PagerAdapter;import android.sup原创 2016-09-24 18:56:06 · 552 阅读 · 0 评论 -
拿着妹子Api去玩耍,RecyclerView瀑布流实现
RecyclerView是Andorid 5.X中谷歌对ListView进行的一个升级,是一个强大的滑动组件,使用起来比ListView更为强大,可以很好的维护大数据集的滚动和显示。RecyclerView不关心Item是否显示在正确的位置,以及如何显示。(依靠LayoutManager进行RecyclerView布局的制定)RecyclerView不关心Item间如何间隔(使用ItemDeco原创 2017-01-28 16:59:04 · 1441 阅读 · 0 评论 -
通过SwipeRefreshLayout实现ListView的上拉加载下拉刷新
上拉刷新下拉加载相信是在日常的开发中使用的最频繁的一个组件了,大量数据的展示一定会使用到分页的功能以提升用户体验,目前可以看到的市面上的应用的下拉刷新也都是配合的SwipeRefreshLayout来实现的,看起来比较美观,相比自定义的下拉刷新的动画效果,这个就显得比较简洁大方了。下面看一下运行效果: 由于ListView没有提供默认的分页加载的功能,因此这里就需要我们自定了,实现起来也是原创 2017-01-29 21:51:46 · 1084 阅读 · 0 评论 -
Android中的事件传递机制学习
/(ㄒoㄒ)/~~,被Android中的事件传递困扰好久了,一直以来都是云里雾里的,今天抽一下午的时间从头到尾梳理,琢磨一下Android的事件传递机制以此博客进行记录,如有错误还请指正(●’◡’●)我们知道Android 中的View结构是树形结构,View可以放在ViewGroup中,而ViewGroup也可以放在ViewGroup当中,这样一层层的嵌套,那么问题来了,我们的触摸事件只有一个,而原创 2017-02-02 23:17:33 · 360 阅读 · 0 评论 -
Android中使用Java代码对界面进行布局
在日常的开发中我们经常直接使用xml对界面进行布局,但是使用这种布局方式就直接把布局写死了,不能灵活的进行页面元素的展示,比如根据从服务器中请求Json数据的不同进行动态的显示布局样式,额,当然使用的频率也不算太高,当然,对于一名合格的程序员当然要掌握任何一种开发中能够使用到的技能。这次我们通过实现一个简单的登陆页面,来学习一下Android中使用代码进行布局并记录下涉及到的知识点。下面看一下运行的原创 2017-03-27 14:19:08 · 8297 阅读 · 1 评论 -
理解 android:windowSoftInputMode 中的属性
前段时间在写一个订奶管理的App,(^__^) 嘻嘻……帮学姐做的毕业设计,当时遇到了一个问题,就是当点击EditText进行文本输入的时候弹出的软键盘会将底部的tab导航栏顶上去,这种效果给人看了用种太业余的感觉。今天也算是找了个时间研究了下windowSoftInputMode中各种属性的作用,下面记录一下,加深一下记忆,顺便解决把这个问题解决。软键盘顶起底部tab:先大致的描述一下 andro原创 2017-03-30 15:37:56 · 1948 阅读 · 0 评论 -
Anroid中图片的缓存策略之LruCache
在安卓的项目开发中必定少不了网络图片的加载,对与加载少量图片而言可能问题不大,但是当进行多图加载的时候如果不进行缓存处理的话那么你的用户肯定是比较痛苦的,无论是已经看过的图片或是没有看过的图片,都要每次请求网络进行重新获取。一方面是消耗了用户的流量,另一方面用户体验也不会好到哪去。所以我们在平常的开发中肯定要对这种问题进行处理,以提升用户体验,对于这个问题相比听得最多的就是三级缓存了吧(读起来无比的原创 2017-04-02 17:29:32 · 1176 阅读 · 0 评论 -
Android中的px,dp之间单位的转换
import android.content.Context;/** * 像素单位转换的工具类 *@author wangke */public class DensityUtil { /** * 根据手机分辨率从dp转成px * @param context * @param dpValue * @return */ publi原创 2017-03-26 16:39:41 · 440 阅读 · 0 评论 -
【1】MPAndroidChart图表库的使用—来创建我们的第一张折线图
【1】MPAndroidChart图表库的使用—来创建我们的第一张图表由于项目需要最近就在学习MPAndroidChart这个优秀的图表类库的使用方法,既然是第三方的库也就需要我们潜下心来慢慢学习其用法,但是当我去搜索MpAndroidChart的用法时完全被博客中的大段大段的代码吓到了,一个HelloWord例子竟然需要写这么长的代码和设置这么多属性???后来当我看到MPAndroidChart的原创 2017-05-14 20:57:02 · 1060 阅读 · 1 评论 -
在Fragment中修改Activity中的控件
在一些交互体验上做的比较的app上都有这么一个小功能,就是当你手指点击到标题栏的时候,会把你当前浏览的位置自动的滚动到该页面的起始的位置。大概就是下面这个样子:额……这里当然不是来讲用户体验的…哈哈,能分清那个是真正的知乎日报嘛?上面是这个页面的布局,最外层是Activity,里面的内容部分使用Fragment做展示。下面要讲的是如何在Fragment中调用Activity里的控件,这里我们需要完成原创 2017-05-25 21:15:32 · 6763 阅读 · 0 评论 -
Handler消息机制源码学习记录
Handler消息机制源码学习记录在开发中为了避免在主线程执行耗时任务而产生ANR,我们通常会把耗时任务放到子线程中其处理(网络请求,IO操作等),当子线程在处理完某件任务需要更新UI的时候(比如完成网络图片的读取)就要使用到Android中Handler消息传递机制了。从上面的这一段描述中可以看出,消息机制其实就是不同线程之间的通信。这里有个疑问就要抛出来了,为什么不能在子线程中更新UI?Andr原创 2017-05-20 13:14:53 · 628 阅读 · 2 评论 -
Java中实现多线程下载
在日常的开发中难免会遇到进行文件下载的需求,虽然有很多比较优秀的网络请求框架能够帮助我们实现文件的下载 例如XUtils,okhttp等,但是作为一个靠技术吃饭的程序员,也必定需要理解多线程下载的一些原理。废话少数,下面看效果:下面需要明白一个问题,为什么使用多线程下载文件的速度比单线程的速度要快? 一般来说决定下载速度的因素一般有两个:一个是进行文件下载的客户端的带宽,另一个就是要去请求下载的原创 2017-03-31 11:45:15 · 906 阅读 · 0 评论 -
Android 5.X Activity过渡动画,以及漂亮的共享元素效果
曾经的Android在Activity进行跳转的时候,只是非常生硬的进行切换,即使使用overPendingtransition(int inId,int outId)这个方法来给Activity增加一些切换动画效果也很是差强人意。而在Android 5.X中,Google对动画效果进行了更深一步的诠释,为Activity的转场效果设计了更加丰富的动画效果。Android 5.X 提供了三种Tran原创 2017-01-25 16:38:57 · 11217 阅读 · 0 评论 -
GestureDetector用户手势识别的使用
当我们处理一些简单的点击,滑动事件的时候可以直接给View设置一个已经实现好的监听器。但是当我们进行一些复杂手势的识别以及处理的时候,系统已经实现好的监听器就不够用了,当然我们可以通过onTouch()中的MotionEvent的getAction获取当前用户手势所触发的事件, 如:ACTION_DOWN,ACTION_UP,ACTION_MOVE,也可以获取到当前手指点击的坐标,通过getX(),原创 2017-02-22 21:55:29 · 363 阅读 · 0 评论 -
Activity的生命周期和启动模式
在之前的开发中一直都在使用Activity但对其的了解也是比较浅显的,为了能开发出高质量的应用,对Activity的深入了解肯定是必不可少的,下面通过这篇文章记录一下对Activity的回顾以及一些新的理解。1.Activity的生命周期方法上图是谷歌官方文档上对Activity生命周期的介绍,简单的翻译一下(英语很菜/(ㄒoㄒ)/~~)安卓系统采用一个Activity栈来管理开启的一些Activi原创 2017-02-13 17:59:47 · 953 阅读 · 0 评论 -
自定义组合控件TopBar
为了保证应用程序风格的统一,在应用程序中一般都会有样式相同的顶部标题栏,在日常的开发中一般会隐藏掉Android系统提供的ActionBar选择自己定制(实在是太丑了/(ㄒoㄒ)/~~)。下面记录一下创建组合控件TopBar的几个步骤:下面是运行效果: (自己这么丑了,还敢说ActionBar丑……呼呼 审美有限)1.在XML中自定义所需的属性 为了方便使用,需要在values文件夹中创建att原创 2017-01-20 16:12:13 · 489 阅读 · 0 评论 -
安卓接入微信支付解析,细数开发过程中遇到的坑
安卓接入微信支付解析,细数开发过程中遇到的坑连续coding了一下午的代码,头晕目眩,突然想起前段时间写项目的时候需要接入微信支付,于是用了两天的时间成功的将微信接入到自己的项目当中,当然也遇到了无数的坑,额……话说腾讯的开发文档真的很……,下面就给把微信接入的流程,以及开发过程中遇到的坑在这里分享给大家。之前的准备工作就不再一一赘述,点击打开链接,微信开放平台上有详细的申请步骤。下面原创 2016-12-14 17:17:17 · 522 阅读 · 0 评论 -
CardView简单使用
AndroidStudio 中引入CardView需要在build.gradle中添加依赖:compile'com.android.support:cardview-v7:23.4.0'cardBackgroundColor 设置CardView的背景颜色cardCornerRadius 设置CardView拐角的半径原创 2017-01-03 16:18:29 · 443 阅读 · 0 评论 -
Palette的简单使用
Palette(调色板)官方文档的描述是:用于从图片中提取颜色的工具类。可以从图片中提取出多种风格的颜色:Vibrant(充满活力的)Vibrant Dark(充满活力,黑暗的)Vibrant Light(充满活力的,明亮的)Muted(柔和的)Muted Dark(柔和的,黑暗的)Muted Light(柔和的,明亮的)用来获取 Palette的两种途径:// 同步:适用于较小尺寸的原创 2017-01-05 13:36:21 · 1341 阅读 · 0 评论 -
SnackBar学习记录
谷歌官方介绍: Snackbars provide lightweight feedback about an operation. They show a brief message at the bottom of the screen on mobile and lower left on larger devices. Snackbars appear above all other e原创 2017-01-05 15:28:36 · 315 阅读 · 0 评论 -
安卓头部视差(Parallax)实现
看着QQ控件的这种效果挺炫的于是就照着教程模仿着写了一个,完成之后整理一下思路,觉着还是比较简单的,实现核心就是根据手指滑动距顶部距离来改变头部ImageView控件的高度。下面贴出代码:ListView的头布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com原创 2017-01-06 21:21:47 · 1779 阅读 · 0 评论 -
VectorDrawable的简单使用
矢量图在安卓Lollipop中已经实现,相关的类就是VectorDrawable。目前以兼容全版本的安卓系统VectorDrawable未出现之前我们需要把图片资源放在不同分辨率的文件夹中,现在只要是适合用矢量图描述的,如图标,目前只用一个VectorDrawable替代就可以了。SVG:在前端中使用,是一套语法规范Vector:在Android中使用,Vector只实现了SVG语法的Path标原创 2017-01-13 17:50:08 · 1543 阅读 · 0 评论 -
安卓获取接入的Wifi热点设备的Ip地址
最近在做一个安卓设备间传输文件的app,建立热点让两部设备在同一个局域网之间传输文件,需要知道连接热点的设备的ip地址,这边记录一下获取的方式:WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); DhcpInfo dhcpInfo = wifiManager.getDhcpIn原创 2017-01-10 21:16:08 · 8411 阅读 · 0 评论 -
Andorid Xml的写入与读取之PULL解析器
在Android中常用的XML解析器有三种:DOM解析器SAX解析器PULL解析器下面记录一下PULL解析器的方式,PULL解析是在XML文档中寻找想要的标记,把需要的内容放入内存,而不是把整个文档都放入内存,这种方式比较适合手机等内存有限的小型的移动设备。PULL解析器小巧轻便,解析速度快,简单易用,非常适合在Android移动设备中使用,Android系统内部在解析各种XML时也是用PU原创 2017-01-17 15:11:34 · 391 阅读 · 0 评论 -
Design库中的TabLayout的使用
对于TabLayout谷歌文档给出的说明是 :“TabLayout provides a horizontal layout to display tabs.”提供一个水平的布局用来展示tabs,相比于5.0之前的指示器,这次的TabLayout的颜值可以秒杀一切,也就可以不用自定,或者使用第三方自定的指示器了。下面看一下TabLayout配合ViewPager的运行效果:下面记录一下简单的使用过程原创 2017-02-08 15:43:42 · 292 阅读 · 0 评论 -
安卓补间动画(Tween Animation)复习
Tween动画是操作某个控件让其展现出旋转、渐变、移动、缩放的这么一种转换过程,我们称为补间动画。我们可以以XML形式定义动画,也可以使用代码的形式实现。 实现方式: Java代码Xml定义( XML文件中必须有一个根元素,可以是alpha、scale、translate、rotate中的任意一个,也可以是set来管理一个由前面几个元素组成的动画集合)下面简单梳理一下各个动画的使用方法,原创 2017-01-12 20:44:24 · 533 阅读 · 0 评论 -
粗仿数字尾巴实现安卓图片选择器
趁热打铁,使用内容解析者(ContentResolver)来实现一个图片选择器,大体的功能样式仿照的数字尾巴,( ̄▽ ̄)”只是粗仿……下面是运行效果(GIF图片超过2MB就不能上传了/(ㄒoㄒ)/~~): MediaStore这个类是android系统提供的一个多媒体数据库,android中多媒体信息都可以从这里提取。这个MediaStore包括了多媒体数据库的所有信息,包括音频,视频和图像。操作原创 2017-01-18 19:00:50 · 545 阅读 · 0 评论 -
安卓 AnimationDrawable 逐帧动画的使用
一些不同的图片连续起来快速播放给人眼一种动画的错觉,这就是我所理解的逐帧动画。首先看一下运行效果:AnimationDrawable 类的继承关系:下面看一下具体的实现方式:在res下的drawable目录下创建 bird_fly_animation.xml 用来放置逐帧动画的图片素材根节点是animation-list(动画列表),里面有一个或者多个item节点组成,oneshot属性表示是原创 2017-02-18 18:15:18 · 1286 阅读 · 0 评论 -
Android接入腾讯OCR进行文字识别
今天尝试在Android平台中接入腾讯的文字识别,看到文档中也提供了相应的JAVA SDK,于是二话没说就开始引入来尝试实现一次接口的调用。当点击运行的时候才发现没那么简单,直接报错DatatypeConverter类找不到,其实官方提供的Java SDK是不支持Android。那么这个时候就有人说了,不就是接口调用嘛?!直接根据接口文档传递相应的参数去发Http请求好了!嗯!当然可以,这绝对是最...原创 2019-08-25 15:31:56 · 2138 阅读 · 3 评论