隨著app越來(lái)越人性化,這就造成了需求的越加變態(tài),這里,我想向所有移動(dòng)開(kāi)發(fā)的同仁說(shuō),干死需求他丫的,好了,廢話(huà)說(shuō)到這里,下面進(jìn)入正題,如何全局改變字體大小,首先Activity繼承Baseactivity:
[java] view plain copy
public class MainActivity extends BaseActivity { ?
??
??
????@Override ?
????protected void onCreate(Bundle savedInstanceState) { ?
????????super.onCreate(savedInstanceState); ?
????????setContentView(R.layout.activity_main); ??
????} ?
} ?
?
然后在BaseActivity里做了這么一件事,
[java] view plain copy
public class BaseActivity extends Activity { ?
????private int states = 3; ?
??
????@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); ?
????????} ?
????} ?
} ?
?
一般情況下 我們調(diào)節(jié)全局字體大小會(huì)在app的設(shè)置菜單里,這里我們模擬大,中,小 三種字體分別為 1,2,3,很明顯我們是以setTheme的方式來(lái)掌控全局字體大小,這時(shí)候 重點(diǎn)來(lái)了,如何set過(guò)主題,字體大小就會(huì)發(fā)生改變呢,我們來(lái)看xml布局文件,
[java] view plain copy
????android:layout_width="match_parent" ?
????android:layout_height="match_parent" ?
????android:orientation="vertical" > ?
????
????????android:layout_height="wrap_content" ?
????????android:text="@string/hello_world" ?
????????android:textSize="?textsize" /> ?
????
????????android:layout_height="wrap_content" ?
????????android:text="@string/hello_world" ?
????????android:textSize="?textsize2" /> ?
????
????????android:layout_height="wrap_content" ?
????????android:text="@string/hello_world" ?
????????android:textSize="?textsize3" /> ?
?
?
評(píng)論
查看更多