2011年6月27日月曜日

declare-styleable メモ

公式のリファレンスサイトだと、declare-styleable の記事が
Hello Views の GalleryFragment の説明 と Sample アプリ (API Demo とか) しかなかったので、format とかのメモ。

SYNTAX:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="styleable_name">
<attr name="format_name" format="string|integer|float|boolean|color|dimension|reference">
<enum name="enum_name" value="enum_value" />
<flag name="flag_name" value="flag_value" />
</attr>
</declare-styleable>
</resources>


ELEMENTS:
  <resources>
    必須。ルートノードでなければならない。

    属性なし。

  <declare-styleable>
    styleable を定義する。
    <attr> エレメントを含まなければならない。

    ATTRIBUTES:
      name
        String必須。styleable エレメントの名前。
        View の設定値を取得するための resource ID として
        使用される。

  <attr>
    styleable の1つのプロパティを定義する。
    <declare-styleable> の子エレメントでなければならない。

    ATTRIBUTES:
      name
        String必須。styleable プロパティの名前を定義する。

      format
        String。 styleable プロパティのフォーマット名。
        "string", "integer", "float", "boolean", "color",
        "dimension", "reference" のいずれか。

  <enum>
    styleable プロパティのフォーマットの1つのを定義する。

    ATTRIBUTES:
      name
        String必須。enum プロパティの名前を定義する。

      value
        String必須。整数。enum プロパティの値を定義する。

  <flag>
    styleable プロパティのフォーマットの1つのを定義する。

    ATTRIBUTES:
      name
        String必須。flag プロパティの名前を定義する。

      value
        String必須。16進数、整数。
        flag プロパティの値を定義する。

EXAMPLE:
XML ファイルは res/values/attrs.xml に保存される。


<declare-styleable name="LabelView">
<attr name="text" format="string" />
<attr name="textColor" format="color" />
<attr name="textSize" format="dimension" />
</declare-styleable>



<declare-styleable name="DraggableDot">
<attr name="radius" format="dimension" />
<attr name="legend" format="string" />
<attr name="anr">
<enum name="none" value="0" />
<enum name="thumbnail" value="1" />
<enum name="drop" value="2" />
</attr>
</declare-styleable>



<declare-styleable name="Theme">
<attr name="windowSoftInputMode">
<flag name="stateUnspecified" value="0" />
<flag name="stateUnchanged" value="1" />
<flag name="stateHidden" value="2" />
<flag name="stateAlwaysHidden" value="3" />
<flag name="stateVisible" value="4" />
<flag name="stateAlwaysVisible" value="5" />

<flag name="adjustUnspecified" value="0x00" />
<flag name="adjustResize" value="0x10" />
<flag name="adjustPan" value="0x20" />
</attr>
</declare-styleable>

0 件のコメント:

コメントを投稿