![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
Prozac1996
学生一枚
展开
-
Android群英传学习——ListView优化
常用优化技巧使用ViewHolderViewHolder利用了ListView的视图缓存机制,避免每次getView的时候都去重新实例化对象,提高效率。设置项目分割线使用android:divider属性设置分割线 设置@null为透明分割线 dividerHeight属性设置分割线的高度隐藏滚动条android:scrollbars=”none”取消Item点击效果android:itemSel翻译 2017-10-09 13:30:03 · 153 阅读 · 0 评论 -
Android框架——EventBus事件总线
介绍EventBus是Android中比较流行的事件总线框架,可以无耦合的在各个组件之间传递事件,本篇文章就来介绍一下它的用法与部分重要源码。使用方式使用EventBus需要关注几个步骤:注册监听类定义事件类实现事件回调方法发送事件注册监听类在组件里调用register方法,可以让EventBus注册此类中定义的订阅方法。EventBus.getDefault().regi...原创 2019-05-10 18:30:47 · 1548 阅读 · 0 评论 -
Android框架——Retrofit网络框架
介绍Retrofit是一款针对Android网络请求的框架,它的底层是OKHttp实现的,可以用注解来定义请求的格式。基本用法引入依赖 implementation 'com.squareup.retrofit2:retrofit:2.3.0'//导入retrofit //支持json类型的格式转换成model implementation 'com.squareup.re...原创 2019-05-15 16:30:19 · 380 阅读 · 0 评论 -
Android框架——Okhttp网络框架
介绍OkHttp是Android中使用非常广泛的一个网络框架,如果使用HttpUrlConnection可能会有些繁杂,使用okhttp可以轻松解决网络链接问题。基本用法引入依赖compile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.8.0'compile group: 'com.squareup.okio',...原创 2019-05-14 23:43:00 · 254 阅读 · 0 评论 -
AndroidUI——CoordinatorLayout与CollapsingToolbarLayout实现ToorBar折叠效果
可见区域的大小在移动设备中是非常重要的,有的时候我们在滑动list的时候,上方的ToolBar可以自动隐藏掉,从而使得下方的可见区域变大,提升用户体验,先看一下最终的效果:我们一步一步来完成这个过程。使用CoordinatorLayout来搞一个可以上滑出去的Toolbarxml代码还是用的前几个的结构,只需要改造部分属性就可以了。将包裹的布局改为CoordinatorLayout在To...原创 2019-04-25 17:56:53 · 412 阅读 · 0 评论 -
Android并发——阻塞队列,线程池以及AsyncTask
介绍阻塞队列,线程池与AsyncTask都是Android开发中经常用到的技术,其实这三种技术中是有引用关系的,AsyncTask将Runnable存储在线程池中,线程池内存储Runnable的位置是阻塞队列,接下来我们从下到上了解一下这三者的相关知识。阻塞队列简介阻塞队列常用于生产者-消费者场景。特征为数据满的情况下,生产者生产会被阻塞;数据空的情况下,消费者消费会被阻塞。Blocki...原创 2019-05-08 16:37:41 · 812 阅读 · 0 评论 -
AndroidUI——使用DrawerLayout和NavigationView完成侧边栏
侧边栏也是一种应用很广泛的布局,如果使用自定义控件实现侧边栏需要费一些功夫,使用系统的DrawerLayout和NavigationView可以很快的做出侧边栏效果。DrawerLayout这个布局包含有两个子元素,第一个子元素是主内容布局,第二个子元素是滑动时才能显示出来的抽屉布局,在抽屉布局里,需要设置 android:layout_gravity=“start” 属性,来控制抽屉布局的显...原创 2019-04-25 15:29:33 · 617 阅读 · 0 评论 -
AndroidUI——使用TabLayout实现分页
实现一下TabLayout与ViewPager结合的可滑动可点击的分页效果。尽量最小实现。主页面布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schem...原创 2019-04-25 11:27:45 · 773 阅读 · 0 评论 -
Android框架——PermissionsDispatcher
在我们开发应用时有时候可能会使用到一些敏感的权限,比如短信权限,电话权限等。如果要完整的处理一个具有权限的操作,需要关注以下几点:检测权限已有时的操作没有权限,申请权限成功的操作没有权限,申请权限失败的操作没有权限,申请权限失败,且勾选了不再提示时的操作PermissionsDispatcher是一个在Android中可以通过注解形式申请动态申请权限的框架。使用Permissions...原创 2019-04-24 14:58:52 · 510 阅读 · 0 评论 -
Android群英传学习-Android绘图机制与处理技巧
屏幕的尺寸信息屏幕参数屏幕大小,指屏幕对角线的长度分辨率,手机的像素点的个数PPI,每英寸像素系统屏幕密度独立像素密度dp使用mdpi作为标准,此情况下1px=1dp 密度越高,1dp所对应的px就会越大单位转换/** * 将px转换为dip * @param context * @param pxValue * @return */翻译 2017-10-25 15:10:22 · 244 阅读 · 0 评论 -
Android群英传学习——控件架构与自定义控件
控件架构一般控件分为两类,View和ViewGroup。ViewGroup可以包含多个View。通过ViewGroup整个界面上的形成了一个控件树,每个控件树的 根部,都有一个ViewParent对象,作为整棵树的控制对象。每一个Activity都包含一个Window对象,通常是PhoneWindow,它将一个DecorView作为窗口的根View,它将需要显示的所有内容都显示在Window上。里翻译 2017-10-08 16:11:48 · 206 阅读 · 0 评论 -
Android框架——RxJava异步开发框架
介绍RxJava是ReactiveX的Java实现,通过这个框架我们可以很方便的进行数据的异步获取,并对数据进行分步转换。RxJava基本使用引入依赖 implementation 'io.reactivex.rxjava2:rxandroid:2.1.0' implementation 'io.reactivex.rxjava2:rxjava:2.2.3'创建观察者首...原创 2019-05-15 23:23:35 · 1145 阅读 · 0 评论