主题未应用于自定义视图(Android)

时间:2012-09-15 15:19:32

标签: android

我正在制作一个视图,我将其用作各种其他视图的背景。它可以包含TextView,Button,LinearLayout等。

根据所选主题(应用程序允许您在运行时更改主题),此视图的背景图像应该不同。然而,似乎没有任何事情发生。未设置背景。它适用于“本机”视图(如TextView或Button)

查看(注意:为了让它运转起来,我已经玩了几次并改变了超级课程):

public class HorizontalContainerBar extends TextView
{
    public HorizontalContainerBar(Context context)
    {
        super(context);
    }

    public HorizontalContainerBar(Context context, AttributeSet attrs)
    {
        super(context, attrs);
    }

    public HorizontalContainerBar(Context context, AttributeSet attrs, int defStyle)
    {
        super(context, attrs, defStyle);
    }
}

这是themes.xml的一部分:

<style name="Theme" parent="android:style/Theme">`
        <item name="android:windowTitleSize">20dip</item>
        <item name="horizontalContainerBarStyle">@style/horizontal_container_bar_first</item>
</style>
<style name="Theme.First">
        <item name="horizontalContainerBarStyle">@style/horizontal_container_bar_first</item>
</style>

这是styles.xml的一部分:

<style name="horizontal_container_bar" parent="@android:style/Widget.Button">
    <item name="android:padding">10dp</item>
    <item name="android:textColor">#ffffff</item>
    <item name="android:gravity">center_vertical|left</item>
</style>

<style name="horizontal_container_bar_first" parent="@style/horizontal_container_bar">
    <item name="android:background">@drawable/panel_first</item>
</style>

这是attrs.xml的一部分:

<attr name="horizontalContainerBarStyle" format="reference"/>

(不在声明样式标签内 - 但它曾经是)

这是在我的布局文件中:

<com.myapp.views.HorizontalContainerBar android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:text="hello">
</com.myapp.views.HorizontalContainerBar>

有谁知道我在这里做错了什么?

0 个答案:

没有答案