android - 像知乎設(shè)置頁這樣的列表樣式是怎么實現(xiàn)的?
問題描述
從這兩大部分的陰影樣式來看,感覺像是用了兩個cardview,一個包含了上面「我的草稿,最近瀏覽。。等等條目」,另一個包含了「夜間模式」和「設(shè)置」,是這樣嗎?還是說整體就是一個RecyclerView?
另外,item之間的分割線是怎么做的?謝謝
問題解答
回答1:因為這些條目個數(shù)是固定的,而且數(shù)量也是少,你完全可以自己寫全部的列表啊,樣式copy下其實是效率最高的,分割線其實就是一個左邊有margin的view,設(shè)置個背景色,高度1px
回答2:所有看著像偏好設(shè)置的頁面都可以使用如下Fragment來實現(xiàn):
android.preference.PreferenceFragment, 用于原生環(huán)境
android.support.v7.preference.PreferenceFragmentCompat, 用于兼容環(huán)境
1, 2 基本功能是一樣的, 只是2是為了低版本兼容而存在的, 也是最近版本的support-v7才引進(jìn)的. 1的列表是使用ListView實現(xiàn)的, 2的列表是使用RecyclerView實現(xiàn)的, 除此之外, 這倆都有一組Preference, 即列表中的Item項, 可以實現(xiàn)各種需求, 也可以自定義.
具體思路:
[夜間模式], [設(shè)置] 就是一個Preference
[夜間模式] 上面的分隔線就是一個沒有設(shè)置任何內(nèi)容的 PreferenceCategory
根據(jù)需求寫*prefs.xml吧
p.s.Preference 的layout可以通過調(diào)用接口或者修改themes.xml(樣式)來設(shè)置
具體用法:
官方文檔: PreferenceFragment
p.s. 更多用法自行Google吧.
回答3:linearlayout的話有showpiders,你百度或者Google下,很方便,不用寫View當(dāng)分割線
相關(guān)文章:
1. JavaScript將.apply()與'new'運算符配合使用這可能嗎?2. angular.js - webpack build后的angularjs路由跳轉(zhuǎn)問題3. java - Activity中的成員變量被賦值之后,Activity被回收的時候內(nèi)存才會被釋放嗎4. java - web項目中,用戶登陸信息存儲在session中好 還是cookie中好,取決于什么?5. 為什么 必須在<ul> 下建立 <li> 在建<a>?6. 請求一個數(shù)據(jù)返回內(nèi)容為空或者錯誤如何再次請求幾次7. 老師,flex-shrink: 1; 按視頻操作,不會自動縮放8. 為什么bindClass訪問不了的?9. Discuz! Q 有人用過嗎?10. 我寫的哪里有錯?請大神幫忙查看一下。
