2011年6月27日月曜日

declare-styleable メモ

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

SYNTAX:
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <declare-styleable name="styleable_name">  
  4.         <attr name="format_name" format="string|integer|float|boolean|color|dimension|reference">  
  5.              <enum name="enum_name" value="enum_value" />  
  6.              <flag name="flag_name" value="flag_value" />  
  7.         </attr>  
  8.     </declare-styleable>  
  9. </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 に保存される。

  1. <declare-styleable name="LabelView">  
  2.     <attr name="text" format="string" />  
  3.     <attr name="textColor" format="color" />  
  4.     <attr name="textSize" format="dimension" />  
  5. </declare-styleable>  


  1. <declare-styleable name="DraggableDot">  
  2.    <attr name="radius" format="dimension" />  
  3.     <attr name="legend" format="string" />  
  4.     <attr name="anr">  
  5.         <enum name="none" value="0" />  
  6.         <enum name="thumbnail" value="1" />  
  7.         <enum name="drop" value="2" />  
  8.     </attr>  
  9. </declare-styleable>  


  1. <declare-styleable name="Theme">  
  2.     <attr name="windowSoftInputMode">  
  3.         <flag name="stateUnspecified" value="0" />  
  4.         <flag name="stateUnchanged" value="1" />  
  5.         <flag name="stateHidden" value="2" />  
  6.         <flag name="stateAlwaysHidden" value="3" />  
  7.         <flag name="stateVisible" value="4" />  
  8.         <flag name="stateAlwaysVisible" value="5" />  
  9.   
  10.         <flag name="adjustUnspecified" value="0x00" />  
  11.         <flag name="adjustResize" value="0x10" />  
  12.         <flag name="adjustPan" value="0x20" />  
  13.     </attr>  
  14. </declare-styleable>  

0 件のコメント:

コメントを投稿