android改变全局字体大小

一.在BaseActivity中覆盖getResources方法
@Override
public Resources getResources() {
    Resources res = super.getResources();
    Configuration config = res.getConfiguration();
    config.fontScale = 1f; //1 设置正常字体大小的倍数
    res.updateConfiguration(config, res.getDisplayMetrics());
    return res;
}
二.利用xml文件
  1.在BaseActivity里

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (1 == states) {
        setTheme(R.style.Default_TextSize_Small);
    } else if (2 == states) {
        setTheme(R.style.Default_TextSize_Middle);
    } else {
        setTheme(R.style.Default_TextSize_Big);
    }
}

2.在布局里

<TextView
    android:id="@+id/tv_good_title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="11dp"
    android:layout_marginRight="11dp"
    android:layout_toLeftOf="@id/tv_good_time"
    android:layout_toRightOf="@id/img_good"
    android:textSize="?textsize"
    android:text="@string/defaul_title"
    />

android:textSize="?textsize"
用这种方法,这句话比写,否则没有作用

3.在attr文件里

<resources>
    <attr name="textsize" format="reference|dimension" />
    <attr name="textsize2" format="reference|dimension" />
    <attr name="textsize3" format="reference|dimension" />
</resources>

4.在style文件里申明

<style name="Default_TextSize_Small">
    <item name="textsize">@dimen/tset_small</item>
    <item name="textsize2">@dimen/tset_middle</item>
    <item name="textsize3">@dimen/tset_big</item>
</style>


<style name="Default_TextSize_Middle">
    <item name="textsize">@dimen/tset_small2</item>
    <item name="textsize2">@dimen/tset_middle2</item>
    <item name="textsize3">@dimen/tset_big2</item>
</style>


<style name="Default_TextSize_Big">
    <item name="textsize">@dimen/tset_small3</item>
    <item name="textsize2">@dimen/tset_middle3</item>
    <item name="textsize3">@dimen/tset_big3</item>
</style>
5. dimen里面设置的字体大小

<resources>
    
    <dimen name="tset_small">12sp</dimen>
    <dimen name="tset_middle">16sp</dimen>
    <dimen name="tset_big">20sp</dimen>
    
    <dimen name="tset_small2">18sp</dimen>
    <dimen name="tset_middle2">22sp</dimen>
    <dimen name="tset_big2">26sp</dimen>

    <dimen name="tset_small3">22sp</dimen>
    <dimen name="tset_middle3">26sp</dimen>
    <dimen name="tset_big3">30sp</dimen>
    
</resources>
三.利用style.xml 方法

  1.在attr文件里

扫描二维码关注公众号,回复: 1841694 查看本文章
<resources>
    <attr name="fontsize_1" format="dimension"></attr>
    <attr name="fontsize_2" format="dimension"></attr>
    <attr name="fontsize_3" format="dimension"></attr>
</resources>

2.在styles.xml里


猜你喜欢

转载自blog.csdn.net/qq_30711091/article/details/80798941
今日推荐