【问题标题】:Android backward compatibility issue with stylesAndroid 与样式的向后兼容性问题
【发布时间】:2013-11-03 18:33:52
【问题描述】:

在我的 styles.xml 值目录中,我定义了我的自定义按钮,如下所示:

<style name="Button" parent="android:Widget.Holo.Light.Button">
    <item name="android:typeface">serif</item>
    <item name="android:layout_marginLeft">6dp</item>
    <item name="android:layout_marginRight">6dp</item>
    <item name="android:layout_marginTop">10dp</item>
    <item name="android:layout_marginBottom">10dp</item>
    <item name="android:minHeight">40dp</item>
    <item name="android:minWidth">40dp</item>
    <item name="android:paddingLeft">10dp</item>
    <item name="android:paddingRight">10dp</item>
</style>

它至少适用于我的 Android 4.2 设备,但 Android 2.3 不尊重 minHeight 值。我的字体也有问题,在我的TextViews 中,Android 2.3 似乎使用了巨大的字体,而不是我在以下代码中继承的样式的默认值:

<style name="TextView" parent="android:Widget.Holo.Light.TextView">
    <item name="android:padding">5dp</item>
    <item name="android:typeface">serif</item>
</style>

对于 API

非常感谢,

【问题讨论】:

  • 您是否尝试过将父级设置为 Widget.TextView 而不是 Widget.Holo.Light.TextView?

标签: android android-styles android-compatibility


【解决方案1】:

要在android 2.3 中使用holo 主题,您应该使用androids 兼容库。 对于 holo 主题,您应使用 andorid 支持库 v7。

查看以下链接了解更多详情: http://developer.android.com/tools/support-library/index.html

【讨论】:

  • 在那个网站上没有出现“holo”这个词。此外,这不是在 Android 早期版本中使用 Holo 主题的方式。
  • 他的意思是 tha appcompat 库:developer.android.com/training/basics/actionbar/styling.html - 但这是为了在 android 2.1+ 中有操作栏和一些全息样式,但不启用早期版本较新的样式元素
  • 无论如何,这不是问题。
猜你喜欢
  • 2010-09-05
  • 1970-01-01
  • 2011-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多