我今天阅读了有关Android样式和主题的信息,并尝试将其应用于应用程序中的列表以作为测试。该应用程序具有一个list元素,该列表元素以编程方式添加了TextViews。
根据文档,将样式用作主题的文档也会影响子视图。
所以我尝试了这个:
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/TextAppearance.AppCompat.Small"/>
我希望列表中的TextView文本变小,但是什么也没发生。
我也尝试过@style/TextAppearance.MaterialComponents.Headline1
,但也没有效果。
为什么?
我自己没有更改任何样式或主题设置。我使用Android Studio为该项目生成的默认设置。
不应该将样式作为主题应用到上面的视图中吗?
您正在使用样式“ TextAppearance.AppCompat.Small”,该样式适用于TextView,而不适用于像ListView这样的通用样式。
您需要将样式应用于TextView列表item。您可以为文本外观,字体,大小等创建自定义样式,然后在整个应用程序中重复使用。
请参阅@Nick Butcher的this很棒的文章