我正在制作一个视图,我将用它作为各种其他视图的背景。它可以包含 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>
有谁知道我在这里做错了什么?