从新建工程向导里写的RecyclerView内容不显示的小坑,用android:theme属性填平

对于使用AndroidStudio的童鞋,新写工程肯定是通过studio里的File->New->"New Prject"来创建的。其使用的"Theme.AppCompat.Light.DarkActionBar"的主题配色也挺好看的。刚学RecyclerView的童鞋,再看了创建RecyclerView的各步骤后肯定也想在自己的hello-world工程里试一把。可是当你按照创建RecyclerView的各步骤把代码添加到studio里刚新建的工程里,运行时会发现啥也看不到,类似下面的效果:

从新建工程向导里写的RecyclerView内容不显示的小坑,用android:theme属性填平_第1张图片
白色文字.png

然后反复核对写RecyclerView的各步骤,也没有写错啥。上图如果list item间没有分隔线的话,更是一片空白,当时就蒙了。结果是因为list item里面的TextView的颜色是和背景一样的白色。所以看上去一片白,以为是没有创建出来。这个有点坑。给xml里的TextView加上android:textColor立马就显现出来。但是问题来了,难道每次我写RecyclerView的时候都要单独给list item对应的xml里的元素单独设置显示属性吗?能否用Activity所使用的AppTheme呢。答案是给list item对应的xml里的顶层view设置android:theme="@style/AppTheme",这样里面TextView的textColor/textAppearance/typeface/...等等属性就都能用程序主题中定义的了。

从新建工程向导里写的RecyclerView内容不显示的小坑,用android:theme属性填平_第2张图片
加了android:theme之后.png

参考文章
完整代码查看地址
另外强调一下,这个bug在5.0系统以下的版本是不会出现的。

你可能感兴趣的:(从新建工程向导里写的RecyclerView内容不显示的小坑,用android:theme属性填平)