Android中自訂屬性的格式詳解

來源:互聯網
上載者:User

標籤:

自訂屬性格式一共有十種;

1. reference:參考某一資源ID。

2. color:顏色值。

3. boolean:布爾值。

4. dimension:尺寸值。

5. float:浮點值。

6. integer:整型值。

7. string:字串。

8. fraction:百分數。

9. enum:枚舉值。

10. flag:位或運算。

 

1. reference:參考某一資源ID。

 

    (1)屬性定義:

 

            <declare-styleable name = "名稱">                   <attr name = "background" format = "reference" />            </declare-styleable>

 

    (2)屬性使用:

 

        <ImageView                     android:layout_width = "42dip"                     android:layout_height = "42dip"                     android:background = "@drawable/圖片ID"                     />

 

2. color:顏色值。

 

    (1)屬性定義:

             <declare-styleable name = "名稱">                   <attr name = "textColor" format = "color" />            </declare-styleable>

 


    (2)屬性使用:

 <TextView android:layout_width = "42dip" android:layout_height = "42dip" android:textColor = "#00FF00"/>

3. boolean:布爾值。

 

    (1)屬性定義:

            <declare-styleable name = "名稱">             <attr name = "focusable" format = "boolean" />            </declare-styleable>

    (2)屬性使用:

 

          

 <Button                    android:layout_width = "42dip"                    android:layout_height = "42dip"                    android:focusable = "true"                    />

 

 

4. dimension:尺寸值。

 

    (1)屬性定義:

 

       

    <declare-styleable name = "名稱">                   <attr name = "layout_width" format = "dimension" />            </declare-styleable>

 

 

    (2)屬性使用:   

 <Button android:layout_width = "42dip"                    
android:layout_height = "42dip" />

5. float:浮點值。

 

    (1)屬性定義:

 

        

 <declare-styleable name = "AlphaAnimation"> <attr name = "fromAlpha" format = "float" />                   
<attr name = "toAlpha" format = "float" />
</declare-styleable>

 

 

    (2)屬性使用:

 

        

   <alpha     android:fromAlpha = "1.0"
android:toAlpha = "0.7"
/>

 

 

6. integer:整型值。

 

    (1)屬性定義:

 

         

<declare-styleable name = "AnimatedRotateDrawable"> <attr name = "visible" />
<attr name = "frameDuration" format="integer" />
<attr name = "framesCount" format="integer" />
<attr name = "pivotX" />
<attr name = "pivotY" />
<attr name = "drawable" />
</declare-styleable>

 

 

    (2)屬性使用:

 

            <animated-rotate                   xmlns:android = "http://schemas.android.com/apk/res/android"                    android:drawable = "@drawable/圖片ID"                    android:pivotX = "50%"                    android:pivotY = "50%"                    android:framesCount = "12"                     
android:frameDuration = "100" />

 

 

7. string:字串。

 

    (1)屬性定義:

 

          

<declare-styleable name = "MapView"><attr name = "apiKey" format = "string" />            
</declare-styleable>

 

 

 

    (2)屬性使用:

 

           

<com.google.android.maps.MapView  android:layout_width = "fill_parent"  android:layout_height = "fill_parent"   android:apiKey = "0jOkQ80oD1JL9C6HAja99uGXCRiS2CGjKO_bc_g"/>

 

 

8. fraction:百分數。

 

    (1)屬性定義:

 

        

<declare-styleable name="RotateDrawable"> <attr name = "visible" /> <attr name = "fromDegrees" format = "float" /><attr name = "toDegrees" format = "float" /><attr name = "pivotX" format = "fraction" />                   
<attr name = "pivotY" format = "fraction" />
<attr name = "drawable" />
</declare-styleable>

 

 

 

    (2)屬性使用:

 

           

<rotatexmlns:android = "http://schemas.android.com/apk/res/android"android:interpolator = "@anim/動畫ID"android:fromDegrees = "0"android:toDegrees = "360"android:pivotX = "200%"android:pivotY = "300%"                
android:duration = "5000"android:repeatMode = "restart"android:repeatCount = "infinite"/>

 

 

9. enum:枚舉值。

 

    (1)屬性定義:

 

          

 <declare-styleable name="名稱"><attr name="orientation">                          
<enum name="horizontal" value="0" />
<enum name="vertical" value="1" />
</attr> </declare-styleable>

 

 

    (2)屬性使用:

 

      

<LinearLayoutxmlns:android = "http://schemas.android.com/apk/res/android"android:orientation = "vertical"                    
android:layout_width = "fill_parent"
android:layout_height = "fill_parent" >
</LinearLayout>

 

 

10. flag:位或運算。

 

     (1)屬性定義:

 

   

 <declare-styleable name="名稱"> <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" />
<flag name = "adjustNothing" value = "0x30" />
</attr> </declare-styleable>

 

 

     (2)屬性使用:

 

          

 <activityandroid:name = ".StyleAndThemeActivity"                   
android:label = "@string/app_name"android:windowSoftInputMode = "stateUnspecified | stateUnchanged | stateHidden">
<intent-filter>
<action android:name = "android.intent.action.MAIN" />
<category android:name = "android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

 

 

     注意:

 

     屬性定義時可以指定多種類型值。

 

    (1)屬性定義:

 

           

<declare-styleable name = "名稱"><attr name = "background" format = "reference|color" /></declare-styleable>

 

 

    (2)屬性使用:

 

           

 <ImageViewandroid:layout_width = "42dip"android:layout_height = "42dip"android:background = "@drawable/圖片ID|#00FF00"/>

 

Android中自訂屬性的格式詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.