[Android]attrs.xml文件中属性类型format值的格式

attrs.xml format属性说明:

[html] view plaincopy
<attr name="xxx"<strong> format</strong>="..."/>   
[html] view plaincopy
"reference" //引用  
"color" //颜色  
"boolean" //布尔值  
"dimension" //尺寸值  
"float" //浮点值  
"integer" //整型值  
"string" //字符串  
"fraction" //百分数,比如200%  
[html] view plaincopy
枚举型的格式:  
<attr name="orientation">  
  <enum name="horizontal" value="0" />  
  <enum name="vertical" value="1" />  
</attr>  
[html] view plaincopy
XML文件中使用:  
android:orientation = "vertical"   
[html] view plaincopy
  
[html] view plaincopy
标志位、位或运算,格式如下:  
<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>  
[html] view plaincopy
XML文件中使用:  
android:windowSoftInputMode = "stateUnspecified | stateUnchanged | stateHidden">    
[html] view plaincopy
  
[html] view plaincopy
属性定义可以指定多种类型:  
<attr name = "background" format = "reference|color" />    
[html] view plaincopy
XML文件中使用:  
android:background = "@drawable/图片ID|#00FF00"    

 attrs.xml  format使用说明:

[html] view plaincopy
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)属性使用:  
           <rotate  xmlns: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)属性使用:  
           <LinearLayout  
                   xmlns: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)属性使用:  
            <activity  
                  android: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)属性使用:  
            <ImageView  
                    android:layout_width = "42dip"  
                    android:layout_height = "42dip"  
                    android:background = "@drawable/图片ID|#00FF00"  
                    />  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 开发attrs.xml 是一个非常重要的文件,它用于定义自定义的属性,可以让我们在布局文件直接使用这些属性。 下面是一个示例 attrs.xml 文件: ```xml <?xml version="1.0" encoding="utf-8"?> <resources> <attr name="myText" format="string" /> <attr name="myTextColor" format="color" /> <attr name="myBackgroundColor" format="color" /> </resources> ``` 这个文件定义了三个自定义属性:myText、myTextColor 和 myBackgroundColor。其,name 属性指定属性的名称,format 属性指定属性类型。 在布局文件使用自定义属性的方法是: ```xml <com.example.MyView android:layout_width="match_parent" android:layout_height="wrap_content" app:myText="Hello World!" app:myTextColor="@color/red" app:myBackgroundColor="@color/white" /> ``` 在 MyView 类,可以通过如下方法获取这些自定义属性: ```java TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MyView); String myText = a.getString(R.styleable.MyView_myText); int myTextColor = a.getColor(R.styleable.MyView_myTextColor, Color.BLACK); int myBackgroundColor = a.getColor(R.styleable.MyView_myBackgroundColor, Color.WHITE); a.recycle(); ``` 其,obtainStyledAttributes() 方法获取了这些属性,getString() 和 getColor() 方法获取了对应属性,recycle() 方法回收 TypedArray 对象。 通过自定义属性,我们可以让布局文件更加简洁明了,代码也更加易于维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值