文本视图字体大小不适用于HTC Desire和HTC One X.

时间:2013-10-03 10:18:35

标签: android android-layout

在我的应用程序中,我可以选择用户选择字体大小“小”,“中”,“大”。为了实现它,我创建了自定义样式并将其应用于用户选择。请参阅下面的代码。

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.我该如何处理这两款设备?有什么我想念的吗?

0 个答案:

没有答案