- 博客(15)
- 收藏
- 关注
原创 Android嵌套滚动(NestedScrolling)总结
嵌套滚动自从Android 5.0开始,谷歌引进了嵌套滚动的机制,来更好跟简单实现嵌套滚动,那什么是嵌套滚到呢,举个例子:场景一,滚到视图里还包含一个滚动视图,即是ScrollView里又包含了一个ScrollView, 如果滚动的范围在里面ScrollView时,我们先让里面的ScrollView滚动,当里面的ScrollView滚动底部或者顶部时在允许外层的ScrollView滚动。场...
2019-03-20 15:21:28 3180
原创 Android Room的详细介绍
Room是谷歌推出的做数据持久化保存的一个库。通过注释手段来实现一个抽象层,跟数据库打交道。官方推荐使用Room代替SQLite,当然如果你对SQLite情有独钟,也可以直接使用SQLite的APIs 先看下官方文档的定义: Room provides an abstraction layer over SQLite to allow fluent database access whi...
2018-06-27 16:26:25 6167
原创 Android DataBinding 基本操作
Android DataBinding 基本操作 DataBinding 可以允许你直接在布局文件中通过表达式来绑定指定的数据,有点类似于前端双向绑定的框架的vue.js。可以减少大量编码方式的绑定数据。使用前的准备要使用DataBinding,将以下代码添加到app的module的build.gradle文件中android { ... dataBi...
2018-06-07 10:28:12 316
翻译 FlexboxLayout的使用
FlexboxLayout 本文是官方文档的翻译FlexboxLayout 是一个库项目,能在Android上实现类似CSS Flexible Box Layout Module 的能力。安装添加以下依赖到你的build.gradle 文件中:dependencies { implementation 'com.google.android:flexbox...
2018-05-24 14:33:45 5635
原创 ConstraintLayout的使用
ConstraintLayout的使用 这篇文章主要根据官方文档的结构,加上自己的理解来介绍它的用法。 ConstraintLayout 翻译过来是约束布局,可以对子view添加各种约束条件达到某种目的,非常灵活。 ConstraintLayout是一个ViewGroup的导出类,可以用灵活的方式来放置部件和确定部件大小。引入依赖开始使用ConstraintLay...
2018-05-24 14:03:25 1249
原创 SwipeRefreshLayout 详细使用介绍
SwipeRefreshLayoutSwipeRefreshLayout是官方提供的下拉刷新解决控件,具有使用简单,灵活等特点。不足的地方,不可以自定义刷新的头部和加载更多功能。不过通过修改SwipeRefreshLayout可以轻松实现这些功能,本文只介绍使用和对各个进行说明。基本使用在xml添加引入SwipeRefreshLayout的代码<?xml versio...
2018-04-28 16:20:36 24307 4
原创 使用Android Studio3.0新功能,加快Android Studio的构建速度
加快Android Studio 构建速度 构建速度直接影响到开发效率,浪费时间即浪费生命,可以通过修改一些配置,优化下构建速度3.0之前的做法通过配置DEX 资源缩短构建时间gradle 添加以下代码android { ... dexOptions { maxProcessCount 4 // this is the default valu...
2017-11-01 18:29:43 4729
原创 升级到Android Studio 3.0遇到的几个错误
升级到Android Studio 3.0遇到的几个错误 上周发布Android Studio 3.0 正式版,新增了许多功能,主要的还是加快构建速度,没升级的小伙伴赶紧升级升级完成后,Android的加载界面换了,耳目一新的感觉 第一次进入时,构建完成后,会提示你升级gradle的版本。点击升级后,会自动升级到gradle 4.1,Android gradle 插件升级到3.0。我遇到了两
2017-10-30 16:47:36 442
原创 给TextView添加行分割线
给TextView添加行分割线思路:通过在TextView onDraw的方法里把行分割线画出来自定义两个属性<declare-styleable name="LineDividerTextView"> <attr name="line_divider" format="reference"/> <attr name="line_divider_height" for
2017-06-08 13:17:59 3435
原创 填填Android lineSpacingExtra 的坑,解决行间距兼容性问题
填填Android lineSpacingExtra 的坑 解决5.0以下设置了 lineSpacingExtra 底部有空白的问题进坑当我们使用TextView显示多行的文字时,为了美观,一般会加上行间距,这时就会用到lineSpacingExtra这个属性。Android 4.4以下,这个属性会影响到最后一行,最后一行也会有个行间距,而在5.0以上不会。一般来说可以通...
2017-05-31 16:57:22 15967 6
原创 onIntercepteTouchEvent()和onTouchEvent()
对于ViewGroup,处理触摸事件有两个很重要的方法onIntercepteTouchEvent()和onTouchEvent() 1. onInterceptTouchEvent(),MotionEvent事件会最先传递到这里,然后根据返回值,是否需要拦截改事件 2. onTouchEvent(),根据需要是否要处理MotionEvent事件onIntercepteTouchEvent()点
2016-09-18 15:01:52 584
原创 apk的classes.dex的校检
为了防止别人很同意就破解自己的应用,在代码添加classes.dex的校检,不通过则不能继续运行,这样增加点破解的难度。有三种方式,一种是通过获取整个app的sha1哈希值,第二种是获取classes.dex的crc32的值,第三种是获取classes.dex的sha1的值思路来源:http://my.oschina.net/u/2323218/blog/406860下
2015-07-07 16:51:41 1954 1
原创 ListFragment setDivider的问题
开始时我是这样写的在getListView().setDividerHeight(2); getListView().setDivider(getResources().getDrawable(R.drawable.listview_divider));发现没有效果网上查了下,正确写法反过来,最好在onActivityCreated方法下添加getList
2014-04-01 09:55:11 1067
原创 Android ListView 分类
从今天起,用此博客来记录自己学Android的一点一滴。第一篇ListView分组,就是每一组有个标题,并且标题的是不可按。先看效果图网上的实现方法很多,归根到底是重写Adatper里getView(),判断该项是组名,还是子项,然后返回不同view就可以了。自认为重写BaseAdapte的getItemViewType和getViewTypeCount即可。附上代码
2014-03-29 21:06:34 907
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人