android - 像知乎设置页这样的列表样式是怎么实现的?
问题描述
从这两大部分的阴影样式来看,感觉像是用了两个cardview,一个包含了上面「我的草稿,最近浏览。。等等条目」,另一个包含了「夜间模式」和「设置」,是这样吗?还是说整体就是一个RecyclerView?
另外,item之间的分割线是怎么做的?谢谢
问题解答
回答1:因为这些条目个数是固定的,而且数量也是少,你完全可以自己写全部的列表啊,样式copy下其实是效率最高的,分割线其实就是一个左边有margin的view,设置个背景色,高度1px
回答2:所有看着像偏好设置的页面都可以使用如下Fragment来实现:
android.preference.PreferenceFragment, 用于原生环境
android.support.v7.preference.PreferenceFragmentCompat, 用于兼容环境
1, 2 基本功能是一样的, 只是2是为了低版本兼容而存在的, 也是最近版本的support-v7才引进的. 1的列表是使用ListView实现的, 2的列表是使用RecyclerView实现的, 除此之外, 这俩都有一组Preference, 即列表中的Item项, 可以实现各种需求, 也可以自定义.
具体思路:
[夜间模式], [设置] 就是一个Preference
[夜间模式] 上面的分隔线就是一个没有设置任何内容的 PreferenceCategory
根据需求写*prefs.xml吧
p.s.Preference 的layout可以通过调用接口或者修改themes.xml(样式)来设置
具体用法:
官方文档: PreferenceFragment
p.s. 更多用法自行Google吧.
回答3:linearlayout的话有showpiders,你百度或者Google下,很方便,不用写View当分割线
相关文章:
1. angular.js - 为什么给 Angular 指令绑定事件无法生效2. docker-machine添加一个已有的docker主机问题3. html5 - 使用angular中,图片上传功能中选择多张图片是怎么实现的?有什么好的思路吗?4. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?5. golang - 用IDE看docker源码时的小问题6. 为什么我ping不通我的docker容器呢???7. phpstudy 发现多个后门木马,有人遇到过吗?8. mysql 5个left关键 然后再用搜索条件 几千条数据就会卡,如何解决呢9. 请问一下,这是6.0的吗?为什么我下载的和老师讲的不一样呢?10. MySQL 查询疑问?
