当前位置: 首页 > 编程笔记 >

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

尹凌龙
2023-03-14
本文向大家介绍Android自定义控件属性详细介绍,包括了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"
           />

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

 类似资料:
  • 本文向大家介绍详解Android自定义控件属性,包括了详解Android自定义控件属性的使用技巧和注意事项,需要的朋友参考一下 在Android开发中,往往要用到自定义的控件来实现我们的需求或效果。在使用自定义 控件时,难免要用到自定义属性,那怎么使用自定义属性呢? 在文件res/values/下新建attrs.xml属性文件,中定义我们所需要的属性。 布局说明: 通过以上几步就可以实现我们想要的

  • 本文向大家介绍Android自定义控件之自定义属性(二),包括了Android自定义控件之自定义属性(二)的使用技巧和注意事项,需要的朋友参考一下 前言: 上篇介绍了自定义控件的基本要求以及绘制的基本原理,本篇文章主要介绍如何给自定义控件自定义一些属性。本篇文章将继续以上篇文章自定义圆形百分比为例进行讲解。有关原理知识请参考Android自定义控件基本原理详解(一)这篇文章。  需求产生背景: 为

  • 本文向大家介绍详解Android自定义控件属性TypedArray以及attrs,包括了详解Android自定义控件属性TypedArray以及attrs的使用技巧和注意事项,需要的朋友参考一下 最近在研究android自定义控件属性,学到了TypedArray以及attrs。大家也可以结合《理解Android中的自定义属性》这篇文章进行学习,后续一篇还有应用。 1、attrs文件编写 看到这上面

  • Tabris.js控件由JavaScript API和原生平台的实现组成。本文档介绍Android平台上的自定义控件的原生实现。 为了实现自定义控件你需要本地构建。 在Cordova基础上构建 为了创建Tabris.js自定义控件,我们使用Cordova的构建系统。因此,我们创建一个与Tabris.js特定的API相关联的Cordova插件。Tabris.js自定义控件不需要接触任何Cordova

  • 本文向大家介绍Objective-C 宏定义详细介绍,包括了Objective-C 宏定义详细介绍的使用技巧和注意事项,需要的朋友参考一下 喜欢读一些开源项目源码的人,总是会发现,大神的代码中总是有那么一些简短而高效的宏定义,点击进去一看,发现晦涩难懂,别说学习了,有时候理解都是一种困难,但是宏定义本身并没有那么难,但是写出一个好的宏当然还是需要丰富的经验和技术,接下来就说一说宏定义,看懂大神的宏

  • 本文向大家介绍Android自定义控件之自定义组合控件(三),包括了Android自定义控件之自定义组合控件(三)的使用技巧和注意事项,需要的朋友参考一下 前言: 前两篇介绍了自定义控件的基础原理Android自定义控件基本原理详解(一)、Android自定义控件之自定义属性(二)。今天重点介绍一下如何通过自定义组合控件来提高布局的复用,降低开发成本,以及维护成本。 使用自定义组合控件的好处? 我

  • 本文向大家介绍Android中自定义控件的declare-styleable属性重用方案,包括了Android中自定义控件的declare-styleable属性重用方案的使用技巧和注意事项,需要的朋友参考一下 最近接触了Android自定义控件,涉及到自定义xml中得属性(attribute),其实也很简单,但是写着写着,发现代码不完美了,就是在attrs.xml这个文件中,发现属性冗余,于是就

  • 本文向大家介绍微信小程序  自定义创建详细介绍,包括了微信小程序  自定义创建详细介绍的使用技巧和注意事项,需要的朋友参考一下 微信小程序 自定义创建,最近自己捣鼓微信小程序的东西,这里对自定义创建做一个简单的资料整理,也许可以帮助大家。  微信小程序  自定义创建 自定义创建与默认创建完全相同, 只是不要勾选quick start即可 淡定(不要看到报错就紧张, 一定要淡定) 看看它说了什么,