在我的应用程序中,我为用户提供了选择字体大小“小”、“中”、“大”的选项。为了实现它,我创建了自定义样式并将其应用于用户选择。请看下面的代码。
样式.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。我该如何处理这 2 台设备?有什么我想念的吗?