RecyclerView 26+使用手册
来源:互联网 发布:c语言中的英文字母 编辑:程序博客网 时间:2024/05/21 13:57
RecyclerView这个控件是为了替换Listview而产生的,但是这个控件在26之前版本都不支持快速滚动。如果需要使用需要借助于第三方比如FutureMind/recycler-fast-scroll或timusus/RecyclerView-FastScroll。
在RecycerView 26+版本支持了这个特性,大家终于不用在导入第三方或者在使用listview了。下面介绍下怎么使用以及坑的存在
在以前RecyclerView xml添加如下代码
xmlns:app="http://schemas.android.com/apk/res-auto" app:fastScrollEnabled="true" app:fastScrollHorizontalThumbDrawable="@drawable/thumb_drawable" app:fastScrollHorizontalTrackDrawable="@drawable/line_drawable" app:fastScrollVerticalThumbDrawable="@drawable/thumb_drawable" app:fastScrollVerticalTrackDrawable="@drawable/line_drawable"
上面的4个Drawable都必须设置,不然就会异常
下面是xml代码
thumb_drawable 滚动条样式
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <shape android:shape="rectangle"> <size android:width="14dp" android:height="50dp"></size> <corners android:bottomLeftRadius="2dp" android:bottomRightRadius="2dp" android:topLeftRadius="2dp" android:topRightRadius="2dp" /> <solid android:color="@android:color/holo_blue_light" /> </shape> </item> <item> <shape android:shape="rectangle"> <size android:width="14dp" android:height="50dp"></size> <corners android:bottomLeftRadius="2dp" android:bottomRightRadius="2dp" android:topLeftRadius="2dp" android:topRightRadius="2dp" /> <solid android:color="@android:color/darker_gray" /> </shape> </item></selector>
line_drawable 滚动条背景样式
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <!--<item--> <!--android:state_pressed="true"--> <!--android:drawable="@drawable/recycler_scroller_bg_line"/>--> <!--<item--> <!--android:drawable="@drawable/recycler_scroller_bg_line"/>--> <shape android:shape="rectangle"> <size android:width="14dp"></size> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> </shape></selector>
这里有一个坑 size android:width="14dp" android:height="50dp"
设置的宽度会起作用,但是高度没用,这个下面再说怎么解决
这个显示效果如下 借用别人的图
如果是新项目到这里基本就结束了,但是很多应用到这了坑才刚开始。因为默认的recyclerview 26是在support26中,而且compileSdkVersion 高于23
我们需要的是这样的,编译版本不能高于23,原因网上很多大家都知道的
compileSdkVersion 23
buildToolsVersion "25.0.3"
所以我们需要处理下这个引用包,添加引用
compile 'com.android.support:support-v4:26.0.2'compile 'com.android.support:recyclerview-v7:26.0.2'
这样就可以单独引用recyclerview了,不会和其他冲突。这里注意一下我写的版本是26.0.2,这里并没有错,多数人添加后编译应该是提示找不到的。
这里介绍下这个坑的原因,google近期发布的support都放在了自家的库里,如果大家Gradle是3.0+,会发现里面有allprojects {
repositories {
…..
google()
…..
}
}
低于3.0这个解析不了。这里如果是老项目不要升级Gradle,不要升级Gradle,不要升级Gradle。
这个配置网上也有很多
这里给一个最简单的
在声明配置里面添加
maven { url "https://dl.google.com/dl/android/maven2/" }
再次更新编译 一切就ok了
- RecyclerView 26+使用手册
- 关于RecyclerView的下拉刷新,自定义帧动画,第三方框架PtrFrameLayout使用手册
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- MarkdownPad之学习
- 系统分区管理 加密
- 从面试笔试中谈谈程序员的核心竞争力
- 网络传输经历了啥
- 浙大题--旅游规划
- RecyclerView 26+使用手册
- Ubuntu 17.04下安装64位谷歌Chrome浏览器
- 做网站开发,你不知道这些怎么行?
- ORACLE RAC 的启动和关闭顺序
- TensorFlow
- vim介绍、颜色显示和移动光标、一般模式下移动光标和一般模式下复制、剪切和粘贴
- Wrestling Match【DFS+二分图染色】
- EXCEL排序
- TOMCAT一直加载不到文件,但是相应的webapps里面又有对应的文件存在