我正试图在全球范围内设置文本大小,无法找到办法.
例如我有这样的东西:
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id = "@+id/Table" android:layout_width="fill_parent" android:layout_height="fill_parent" android:shrinkColumns="*" android:stretchColumns="*"> </TableLayout> </ScrollView>
TableRows和TextViews本身是根据用户输入动态生成的.
问题是我想基于资源文件全局设置基本的textSize,而不用去触摸一堆代码.有没有办法告诉应用程序,“嘿,应用程序,使用这作为您的基础textSize为所有的textView?
或者另一种方式,在HTML中,我可以在body,div和表级别设置字体大小.在一个布局(LinearLayout,TableLayout,ScrollView等)上有什么类似的东西吗?
解决方法
要为所有TextView设置全局样式,请在自定义主题中设置android:textViewStyle属性,并将该主题应用于您的应用程序或单个活动.
伪代码:
<style name="MyTheme" parent="android:Theme"> <item name="android:textViewStyle">@style/MyTextView</item> </style> <style name="MyTextView" parent="android:Widget.TextView"> <item name="android:textSize">14sp</item> </style> ... <activity android:theme="@style/MyTheme"> ...