在我的应用程序中,我可以选择用户选择字体大小“小”,“中”,“大”。为了实现它,我创建了自定义样式并将其应用于用户选择。请参阅下面的代码。
Style.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="small_title_text">
<item name="android:textSize">16sp</item>
</style>
<style name="small_body_text">
<item name="android:textSize">12sp</item>
</style>
<style name="small_button_text">
<item name="android:textSize">12sp</item>
</style>
<style name="medium_title_text">
<item name="android:textSize">20sp</item>
</style>
<style name="medium_body_text">
<item name="android:textSize">16sp</item>
</style>
<style name="medium_button_text">
<item name="android:textSize">16sp</item>
</style>
<style name="large_title_text">
<item name="android:textSize">24sp</item>
</style>
<style name="large_body_text">
<item name="android:textSize">20sp</item>
</style>
<style name="large_button_text">
<item name="android:textSize">20sp</item>
</style>
<style name="Theme" parent="android:Theme.NoTitleBar">
</style>
<style name="Theme.SmallText">
<item name="textTitle">@style/small_title_text</item>
<item name="textBody">@style/small_body_text</item>
<item name="buttonText">@style/small_button_text</item>
<item name="radioButtonText">@style/small_radio_btn_text</item>
</style>
<style name="Theme.LargeText">
<item name="textTitle">@style/large_title_text</item>
<item name="textBody">@style/large_body_text</item>
<item name="buttonText">@style/large_button_text</item>
<item name="radioButtonText">@style/large_radio_btn_text</item>
</style>
<style name="Theme.DefaultText">
<item name="textTitle">@style/medium_title_text</item>
<item name="textBody">@style/medium_body_text</item>
<item name="buttonText">@style/medium_button_text</item>
<item name="radioButtonText">@style/default_radio_btn_text</item>
</style>
</resources>
我使用此代码应用用户选择的主题。
protected override void OnCreate (Bundle bundle)
{
this.SetTheme(Resource.Style.Theme_LargeText);
//Or what ever user select i store user selection in app preferences.
base.OnCreate (bundle);
SetContentView (Resource.Layout.HomeScreenTabView);
}
对于textview我正在这样做。
<TextView
style="?textTitle"
android:id="@+id/phoneNumberDial"
android:hint="Dial Number"
android:gravity="center"
android:textStyle="normal"
android:textColor="#ffffffff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.95"
android:layout_gravity="center"
android:background="#02000000" />
这适用于所有设备,但不适用于HTC欲望和HTC One X.我该如何处理这两款设备?有什么我想念的吗?