android改變全局字體大小
隨著app越來越人性化,這就造成了需求的越加變態,這里,我想向所有移動開發的同仁說,干死需求他丫的,好了,廢話說到這里,下面進入正題,如何全局改變字體大小,首先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); ?
????????} ?
????} ?
} ?
?
一般情況下 我們調節全局字體大小會在app的設置菜單里,這里我們模擬大,中,小 三種字體分別為 1,2,3,很明顯我們是以setTheme的方式來掌控全局字體大小,這時候 重點來了,如何set過主題,字體大小就會發生改變呢,我們來看xml布局文件,
[java] view plain copy
????xmlns:tools="http://schemas.android.com/tools" ?
????android:layout_width="match_parent" ?
????android:layout_height="match_parent" ?
????android:orientation="vertical" > ?
????
????????android:layout_width="wrap_content" ?
????????android:layout_height="wrap_content" ?
????????android:text="@string/hello_world" ?
????????android:textSize="?textsize" /> ?
????
????????android:layout_width="wrap_content" ?
????????android:layout_height="wrap_content" ?
????????android:text="@string/hello_world" ?
????????android:textSize="?textsize2" /> ?
????
????????android:layout_width="wrap_content" ?
????????android:layout_height="wrap_content" ?
????????android:text="@string/hello_world" ?
????????android:textSize="?textsize3" /> ?
?
?
隨著app越來越人性化,這就造成了需求的越加變態,這里,我想向所有移動開發的同仁說,干死需求他丫的,好了,廢話說到這里,下面進入正題,如何全局改變字體大小,首先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); ?
????????} ?
????} ?
} ?
?
一般情況下 我們調節全局字體大小會在app的設置菜單里,這里我們模擬大,中,小 三種字體分別為 1,2,3,很明顯我們是以setTheme的方式來掌控全局字體大小,這時候 重點來了,如何set過主題,字體大小就會發生改變呢,我們來看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" /> ?
?
?
評論
查看更多