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

作者:lqh 时间:2022-09-03 09:47:02 

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

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

来源:http://xcynqy123.iteye.com/blog/1472424

标签:Android,自定义,控件
0
投稿

猜你喜欢

  • 基于JAVA文件中获取路径及WEB应用程序获取路径的方法

    2022-08-21 01:26:57
  • Java Eclipse进行断点调试的方法

    2023-06-14 06:31:27
  • java利用多线程和Socket实现猜拳游戏

    2022-10-03 08:03:30
  • java 对象输入输出流读写文件的操作实例

    2021-06-13 15:24:30
  • 通过Java查看程序资源占用情况

    2023-11-10 02:01:19
  • Android如何设置圆角图片

    2021-12-06 23:35:31
  • Lombok基本注解之@SneakyThrows的作用

    2021-12-24 15:30:47
  • Android中Parcelable的作用实例解析

    2022-08-07 09:19:32
  • 海量数据去重排序bitmap(位图法)在java中实现的两种方法

    2022-10-10 17:27:36
  • Java将字符串String转换为整型Int的两种方式

    2021-12-11 10:01:32
  • 使用java8 API遍历过滤文件目录及子目录和隐藏文件示例详解

    2023-08-29 02:42:29
  • 详解如何在Flutter中使用媒体播放器

    2021-06-26 01:40:43
  • 判断java文件类型TikaToolKit的实例

    2021-06-29 02:31:09
  • Android Studio实现简易计算器(表格布局TableLayout)

    2021-11-17 23:20:07
  • C#异步的世界(上)

    2021-09-21 06:01:43
  • vscode编写latex的方法

    2022-05-21 13:30:52
  • 详解JAVA中的Collection接口和其主要实现的类

    2021-06-20 19:14:08
  • Mybatis-Plus注入SQL原理分析

    2022-11-09 21:17:22
  • SpringCloud使用Feign实现远程调用流程详细介绍

    2021-06-02 06:47:16
  • C#中?、?.、??、??=运算符的用法

    2022-11-10 18:11:51
  • asp之家 软件编程 m.aspxhome.com