`
h416756139
  • 浏览: 365684 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android中attr自定义属性详解

 
阅读更多
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:wen=http://schemas.android.com/apk/res/com.iteye.googlers
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="wrap_content">

第二行是自定义标签。

格式如上,其中“xmlns:wen”冒号后面是标签名,在下面使用时(只对当前文件可用)

<TextView  wen:属性名/>

“com.iteye.googlers”是你的工程包名。


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"
                     />
分享到:
评论

相关推荐

    Android中自定义进度条详解

    总之,Android的自定义进度条涉及对`ProgressBar`控件的`android:progressDrawable`属性的修改,以及可能的`style`切换。通过理解并操作底层的XML资源文件,开发者可以创造出各种独特且富有创意的进度条效果,以满足...

    android开发教程之自定义属性用法详解

    自定义属性都存在于/value/attr.xml文件中,以如下格式存在。 代码如下: ”自定义属性名称”&gt; &lt;attr name=”属性名称” format=”属性种类”/&gt; …… 对于自定义属性中的format的值及其含义如下: format属性值:...

    自定义控件_深度解析自定义属性

    在Android中,自定义属性通常是通过定义XML资源文件来实现的。这些属性可以添加到` attrs.xml` 文件中,该文件位于`res/values`目录下。定义属性时,我们需要指定属性的名称、类型、默认值以及描述。例如: ```xml ...

    Android自定义日历控件实例详解

    6. **自定义属性**:在`res/values/attrs.xml`中定义自定义属性,如`&lt;attr name="mode" format="integer" /&gt;`,这使得我们可以从XML布局中传递参数给控件。 7. **布局文件使用**:在XML布局文件中,我们可以像使用...

    Android自定义组件开发

    - **attr.xml**:在资源文件中定义自定义属性,便于在XML布局中使用。 - **TypedArray**:在`setAttributes()`中解析属性,利用`TypedArray`获取并应用到自定义组件。 6. **性能优化** - **减少重绘**:避免不必...

    Android自定义控件属性详细介绍

    Android自定义控件属性详细介绍 1. reference:参考某一资源ID。   (1)属性定义: &lt;attr xss=removed xss=removed&gt;  (2)属性使用: &lt;ImageView android:layout_width = 42dip android:layout_...

    Android自定义View总结

    ### Android自定义View详解 #### 一、引言 在Android开发中,自定义View是一项非常重要的技能。它能够帮助开发者创造出独特的用户界面,并且在某些特定场景下提高应用程序的表现力与用户体验。本文将详细介绍如何...

    详解Android自定义控件属性

    在Android开发中,往往要用到自定义的控件来实现我们的需求或效果。在使用自定义 控件时,难免要用到自定义属性,那怎么使用自定义属性呢? 在文件res/values/下新建attrs.xml属性文件,中定义我们所需要的属性。 ...

    解决Android自定义view获取attr中自定义颜色的问题

    此外,对于Android自定义View的学习,理解` attrs.xml `文件的作用、` TypedArray `的用法以及如何在Java代码中解析和使用自定义属性是非常重要的。你可以参考更多相关的文章,如Android自定义View实现颜色选取器、...

    android自定义控件文档

    ### Android自定义控件知识点详解 #### 一、引言 在Android开发过程中,系统提供的标准控件往往能够满足大部分的界面设计需求。然而,在某些特定场景下,开发者可能需要更加个性化、定制化的用户界面元素来实现...

    Android 自定义控件之第三讲:obtainStyledAttributes 系列函数详解

    在Android中,当我们定义一个自定义控件并在XML布局文件中使用它时,可以通过`android:attr/`来指定特定的属性。这些属性集合就是`Attribute Set`。例如,我们可能会定义一个自定义进度条,并为其设置颜色、宽度等...

    android自定义控件LineDemo.rar

    总结,LineDemo是一个基础的Android自定义控件实例,它教会了我们如何创建一个简单但实用的自定义控件,包括定义属性、解析属性、重写`onDraw()`以及在布局中使用自定义控件。这只是一个起点,开发者可以通过这个...

    浅析Android手机卫士自定义控件的属性

    【Android手机卫士自定义控件属性详解】 在Android应用开发中,自定义控件能够极大地提高代码的可重用性和界面的个性化。本篇主要探讨的是如何在Android手机卫士应用中创建自定义控件,并为其添加自定义属性,以...

    Android自定义View中attrs.xml的实例详解

    Android 自定义 View 中 attrs.xml 的实例详解 Android 自定义 View 中 attrs.xml 的实例详解是 Android 应用程序开发中一个非常重要的知识点。Attrs.xml 文件是 Android 中用于定义自定义 View 的属性文件,在...

    详解Android自定义控件属性TypedArray以及attrs

    大家也可以结合《理解Android中的自定义属性》这篇文章进行学习,后续一篇还有应用。 1、attrs文件编写 &lt;?xml version=1.0 encoding=utf-8?&gt; &lt;resources&gt; &lt;attr name=titleText format=string&gt; &lt;attr ...

Global site tag (gtag.js) - Google Analytics