Android的默认样式(特别是ButtonBar和ButtonBar.Button)是如何呈现的?

时间:2012-09-23 20:28:57

标签: android android-button android-theme android-styles

在ICS +按钮栏的大多数示例中,即Google工程师的这个示例:https://gist.github.com/2357306

我看到了对这些样式的引用:

style="?android:attr/buttonBarStyle"
style="?android:attr/buttonBarButtonStyle"

所以我打开了Android的attrs.xml,这就是我所看到的:

    <!-- Style for buttons within button bars -->
    <attr name="buttonBarButtonStyle" format="reference" />

    <!-- Style for button bars -->
    <attr name="buttonBarStyle" format="reference" />

就是这样。所以也许这是一种风格,对吧?这是styles.xml:

    <style name="Widget.Holo.ButtonBar">
        <item name="android:divider">?android:attr/dividerVertical</item>
    </style>

    <style name="Widget.Holo.ButtonBar.Button">
    </style>

咦?然而Eclipse和设备能够像这样呈现它们:

Button bar on ICS

那么它如何获得正确的尺寸和东西呢?我需要它们的原因是我想在Gingerbread及其下面使用这种类型的按钮栏,它缺少buttonBarStyle属性。因此,他们犯了错误:

Button bar on GB

1 个答案:

答案 0 :(得分:1)

这是因为样式继承。 Widget.Holo.ButtonBar也继承了“Widget.Holo”和“Widget”的所有风格。