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自定义控件的精髓,从而在实际项目中构建出更具创新性和效率的用户界面。
在Android开发中,自定义控件是提升应用个性化和用户体验的重要手段之一。本文将深入探讨如何自定义一个Switch控件,让开发者可以根据自己的需求和设计风格来调整颜色、背景和其他视觉元素。 首先,我们理解一下...
总之,Android自定义控件是实现个性化界面和高效开发的关键技术。理解并熟练掌握自定义控件的定义和使用,对于任何Android开发者来说都是至关重要的。通过不断地实践和学习,你可以创造出更多富有创新性的用户界面,...
《Android自定义组件开发详解》
Android自定义控件EditText使用详解 Android自定义控件EditText是Android开发中常用的控件之一,它可以满足开发者的多种需求。在本文中,我们将详细介绍Android自定义控件EditText的使用方法,包括自定义控件的分类...
详解Android自定义控件属性 可以看到QQ上的ToolBar其实就是一个自定义的view,可以看到不同的界面就是简单地修改了文字而已,在第二张与第三张尤其的明显,我们就仿QQ的这个Toolbar设置一个自定义控件 在开始之前,...
### Android自定义控件知识点详解 #### 一、引言 在Android开发过程中,系统提供的标准控件往往能够满足大部分的界面设计需求。然而,在某些特定场景下,开发者可能需要更加个性化、定制化的用户界面元素来实现...
总结,LineDemo是一个基础的Android自定义控件实例,它教会了我们如何创建一个简单但实用的自定义控件,包括定义属性、解析属性、重写`onDraw()`以及在布局中使用自定义控件。这只是一个起点,开发者可以通过这个...
在Android开发中,控件是...通过理解事件分发流程和自定义控件的事件处理,我们可以创建出更符合需求的用户界面,提升应用的用户体验。在实际开发中,应根据具体场景灵活运用这些机制,确保应用的交互行为符合预期。
### Android自定义控件知识点详解 #### 一、Android控件基本介绍 Android平台提供了丰富的控件库,这些控件可以满足大多数应用界面设计的需求。然而,在某些情况下,开发人员可能需要创建自己的自定义控件以实现...
Android自定义控件属性详细介绍 1. reference:参考某一资源ID。 (1)属性定义: (2)属性使用: <ImageView android:layout_width = 42dip android:layout_height = 42dip
本教程将深入探讨Android自定义控件中的一个重要概念——`obtainStyledAttributes`系列函数,它是如何帮助我们解析并获取XML布局文件中定义的属性值的。 `obtainStyledAttributes`函数是Android SDK中提供的一种...
总之,Android自定义控件的属性通过`attrs.xml`文件进行定义,然后在自定义控件的构造函数中使用`TypedArray`获取并应用这些属性。在布局文件中,可以使用这些属性来设置自定义控件的特性和样式,从而实现更加灵活的...
本篇文章将深入探讨Android自定义控件的相关知识,以帮助你更好地理解和实践。 首先,Android自定义控件分为两种类型:继承已有控件和绘制自己的View。前者是基于已有的Android系统控件(如TextView、ImageView等)...
博客《PullScrollView详解(一)——自定义控件属性》深入探讨了如何自定义这个控件,以满足特定的交互需求。通过阅读博客并分析提供的源码,我们可以学习到以下几个重要的知识点: 1. **自定义控件**:在Android中...
ViewGroup存在的目的就是为了对其子View进行管理,为其子View...因此,自定义ViewGroup通常需要重写onMeasure()方法来对子View进行测量,重写onLayout()方法来确定子View的位置,重写onTouchEvent()方法增加响应事件。
本文实例讲述了Android自定义控件eBook实现翻书效果的方法。分享给大家供大家参考,具体如下: 效果图: Book.java文件: package com.book; import android.app.Activity; import android.os.Bundle; import ...
在自定义View时,我们通常会去重写onDraw()方法来绘制View的显示内容。如果该View还需要使用wrap_content属性,那么还必须重写onMeasure()方法。另外,通过自定义attrs属性,还可以设置新的属性配置值。