- 博客(9)
- 收藏
- 关注
原创 Android 嵌套滑动及CoordinatorLayout源码分析
问题分析嵌套滑动一直是Android中比较棘手的问题,根本原因是Android的事件分发机制导致的:当子控件消费了事件, 那么父控件就不会再有机会处理这个事件了。 所以一旦内部的滑动控件消费了滑动操作, 外部的滑动控件就再也没机会响应这个滑动操作了。如何解决?不过这个问题终于在LOLLIPOP(SDK21)之后终于有了官方的解决方法,就是嵌套滑动机制。嵌套滑动的基本原理是在子控件接...
2018-04-16 18:06:36 1236
原创 Android NDK的开发流程
1.下载并配置NDK步骤1:下载NDK下载NDK Android官网下载地址解压。将解压路径设置为:Android Studio的SDK目录里,并命名为ndk-bundle。(Android Studio会自动检查该路径进行配置,从而省去了收到配置ndk的工作)步骤2: 配置NDK环境变量在系统环境变量里面创建NDK_HOME 将NDK_HOME追加到Path环境变量下...
2018-03-30 16:52:00 440
原创 Android 富文本编辑器RichTextEditor 支持图文混排 支持插入和删除图片
实现原理:使用ScrollView作为最外层布局,里面填充EditText和ImageView。删除的时候,根据光标的位置,删除EditText和ImageView。生成的数据为list集合,可自定义处理数据格式。效果图:RichTextEditor源码:public class RichTextEditor extends ScrollView{ p...
2018-03-14 11:05:15 4404 1
原创 Android 宫格图控件MultiImageView
先上图: 实现逻辑首先创建图片实体类public class PhotoInfo{ public String url; public int w; public int h; public String getUrl() { return url; } public void setUrl(St...
2018-02-28 17:05:03 1243
原创 Android RecyclerView粘性头部的两种实现方式
先上图:<方式一>添加外部Header实现方式 <方式二>绘制ItemDecoration实现方式 二者实现效果一样,下面分析下各自的实现逻辑。添加外部Header实现方式首先为每个RecyclerView的ItemView添加Header布局,这里简称为itemHeader。然后在RecyclerView的同级布局下添加Header布局,这里简...
2018-02-28 13:36:33 11789 2
原创 Android AppBarLayout的使用以及AppBarLayout嵌套滚动不连贯的问题
先上图: 实现上图效果,首先来了解两个知识点:1、AppBarLayout子布局的5种滚动标识(即app:layout_scrollFlags属性)scrollChild View 伴随着滚动事件而滚出或滚进屏幕。如果使用了其他值,必定要使用这个值才能起作用。示例XML代码:<android.support.design.widget.AppBarLayou...
2018-02-27 17:35:04 2661
原创 Android 自定义RecyclerView.ItemDecoration(GridLayoutManager布局下)
为GridLayoutManager的RecyclerView自定义ItemDecoration分隔符。效果如下:Item布局xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
2017-12-11 14:05:19 4336
原创 Android 自定义CoordinatorLayout.Behavior 实现悬浮控件动画
一、Behavior是什么?为什么要用Behavior?CoordinatorLayout是android support design推出的新布局,主要用于作为视图根布局以及协调子控件的行为,而Behavior就是用于直接子控件来协调自身CoordinatorLayout以及和其他子控件的关系,使用Behavior的控件必须是直接从属于CoordinatorLayout。在传统的事件分发...
2017-11-23 18:53:43 1638
原创 Android 软键盘弹出情况下监听返回键直接退出界面
最近做一个评论功能,要求点击返回键直接finish掉评论界面(软键盘+界面),在onBackPressed()和onKeyDown()中进行监听返回键都是先关闭软键盘,然后才能finish掉界面。最后在dispatchKeyEvent()打印log发现,在软键盘弹出的情况下点击返回键,触发的是KeyEvent.ACTION_UP事件,而未触发KeyEvent.ACTION_DOWN事件,因此拦截K...
2017-11-22 14:17:54 3801 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人