急!修改应用程序本身的字体大小
如何通过修改一定范围的数字(如5-30)来改变应用程序本身的字体大小呢?上一帖说错了。
有做过吗?或者给一些提示!谢谢
[最优解释]
试一下这个,
在styles.xml中添加样式
<style name="MyTheme" parent="android:Theme">
<item name="android:textSize">50px</item>
</style>
然后在activity的onCreate第一行写setTheme(R.style.MyTheme);就可以了。
要注意的是setTheme只能在super.onCreate之前调用,所以如果是已经打开的activity必须重新启动才能有效。
不过这样也必须建很多个样式才能实现多个字体大小。
[其他解释]
方法适用于动态修改字体大小,每次需要调用,如果是想修改应用程序的字体大小,建议修改style,或者还有种使用dimens.xml,给你个参考的
http://www.oschina.net/code/explore/android-4.0.1/core/res/res/values-w720dp/dimens.xml
[其他解释]
上面写错了,Button继承子TextView
所以得改下顺序
private static final float DefaultButtonFontSize = 20f;
private static final float DefaultTextFontSize = 16f;
public static void loadDefaultFontSize(View view){
if (view instanceof Button) {
loadFontSize(view,DefaultTextFontSize);
}else if (view instanceof TextView) {
loadFontSize(view,DefaultButtonFontSize);
}
}
public static void loadFontSize(View view, float size) {
if (view instanceof Button) {
((Button) view).setTextSize(size);
}else if(view instanceof TextView) {
((TextView) view).setTextSize(size);
}
}
[其他解释]
private static final float DefaultButtonFontSize = 20f;
private static final float DefaultTextFontSize = 16f;
public static void loadDefaultFontSize(View view){
if (view instanceof TextView) {
loadFontSize(view,DefaultTextFontSize);
}else if (view instanceof Button) {
loadFontSize(view,DefaultButtonFontSize);
}
}
public static void loadFontSize(View view, float size) {
if (view instanceof TextView) {
((TextView) view).setTextSize(size);
}else if(view instanceof Button) {
((Button) view).setTextSize(size);
}
}
要调用的时候loadDefaultFontSize就可以了
[其他解释]
通过定义字体大小的样式,在每个xml中使用该样式,即可更改应用程序的字体
------其他解决方案--------------------
导入一种字体放到assets文件夹里面,调用setFront方法,可以设置文本的大小字体颜色等等
[其他解释]
就是手动改变程序的字体大小?
[其他解释]
是要改变整个应用程序的字体大小,而不是某一处的textview.
[其他解释]
如果要字体大小是从1-30,岂不是要有30个样式?不知道我理解错了没
[其他解释]
软件在运行时,可以动态修改软件的字体吗?
[其他解释]
是的
[其他解释]
是setFont吧?
可以举简单的例子看看吗?
[其他解释]
好,可以试试
[其他解释]
路过,学习了
[其他解释]
有主题制作工具可以修改吧
[其他解释]
请问能实现整个应用程序里面的字体的大小吗?
[其他解释]
还没呢
[其他解释]
我也想知道,楼主现在有解决方案了吗?