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

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

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" />

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-07-30 19:10:35

Android自定义控件属性详细介绍的相关文章

android 自定义控件 自定义属性详细介绍_Android

自定义控件在android中无处不见,自定义控件给了我们很大的方便.比如说,一个视图为imageview ,imagebutton ,textview 等诸多控件的组合,用的地方有很多,我们不可能每次都来写3个的组合,既浪费时间,效率又低.在这种情况下,我们就可以自定义一个view来替换他们,不仅提升了效率并且在xml中运用也是相当的美观. 一.控件自定义属性介绍 以下示例中代码均在values/attrs.xml 中定义,属性均可随意命名. 1. reference:参考某一资源ID. 示例:

Android 自定义View时使用TypedArray配置样式属性详细介绍_Android

 Android 自定义View时使用TypedArray配置样式属性详细介绍       在自定义view时为了提高复用性和扩展性,可以为自定义的view添加样式属性的配置,比如自定义图片资源.文字大小.控件属性等,就这需要用到TypedArray类,下面以一个自定义的可点击扩展和收缩的TextView为例记录下这个类的简单使用. 先上效果图: 点击以后为 再贴代码: 1.自定义view类: /** * @title ExpandTextView * @description 可扩展TextV

Android 自定义View时使用TypedArray配置样式属性详细介绍

Android 自定义View时使用TypedArray配置样式属性详细介绍 在自定义view时为了提高复用性和扩展性,可以为自定义的view添加样式属性的配置,比如自定义图片资源.文字大小.控件属性等,就这需要用到TypedArray类,下面以一个自定义的可点击扩展和收缩的TextView为例记录下这个类的简单使用. 先上效果图: 点击以后为 再贴代码: 1.自定义view类: /** * @title ExpandTextView * @description 可扩展TextView,可以通

CentOS Linux系统搭建Android开发环境详细介绍_Linux

CentOS Linux系统搭建Android开发环境详细介绍        很多人都是在Windows下进行Android开发,但是对于Linux,Android开发环境方面的资料比较少,今天在网上找到了一位网友分享的在CentOS Linux系统中搭建Android开发环境的过程.下面就是其介绍的配置的详细步骤原文:        由于我最近每天使用的是CentOS 5.5,所以选择CentOS5.5作为我的开发环境.        主要包括以下步骤: 1.JDK安装 2.Eclipse安装

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

最近在研究android自定义控件属性,学到了TypedArray以及attrs.大家也可以结合<理解Android中的自定义属性>这篇文章进行学习,后续一篇还有应用. 1.attrs文件编写 <?xml version="1.0" encoding="utf-8"?> <resources> <attr name="titleText" format="string" /> &

Android Service服务详细介绍及使用总结_Android

Android Service服务详解 一.Service简介        Service是android 系统中的四大组件之一(Activity.Service.BroadcastReceiver. ContentProvider),它跟Activity的级别差不多,但不能页面显示只能后台运行,并且可以和其他组件进行交互.service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理

Android 启动模式详细介绍_Android

Android 启动模式:     启动模式:LaunchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里.       这里简单介绍一下任务栈task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建一个与之对应的task.任务栈里面的Activity是按照先进后出的形式保存的,比如:你打开一个页面,

Android应用 坐标系详细介绍_Android

Android 应用坐标系详解:              由于最近做Android项目需要用坐标系的知识,所以度娘了一下,整理了相关资料,记录下来. 1 背景 去年有很多人私信告诉我让说说自定义控件,其实通观网络上的很多博客都在讲各种自定义控件,但是大多数都是授之以鱼,却很少有较为系统性授之于渔的文章,同时由于自己也迟迟没有时间规划这一系列文章,最近想将这一系列文章重新提起来,所以就来先总结一下自定义控件的一个核心知识点--坐标系. 很多人可能不屑一顾Android的坐标系,但是如果你想彻底学

详解Android自定义控件属性_Android

在Android开发中,往往要用到自定义的控件来实现我们的需求或效果.在使用自定义 控件时,难免要用到自定义属性,那怎么使用自定义属性呢? 在文件res/values/下新建attrs.xml属性文件,中定义我们所需要的属性. <?xml version="1.0" encoding="utf-8"?> <resources><!-- resource是跟标签,可以在里面定义若干个declare-styleable --> <