2

他のさまざまなビューの背景として使用するビューを作成しています。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"/>

(declare-styable タグ内ではありませんが、以前はそうでした)

これは私のレイアウトファイルの中にあります:

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

ここで私が間違っていることを知っている人はいますか?

4

0 に答える 0