以launcher为例说明自定义控件的属性:

1、在layout里面定义控件,如:

<com.junction.launcher.DragLayer

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:launcher="http://schemas.android.com/apk/res/com.junction.launcher"

android:id="@+id/drag_layer" android:layout_width="match_parent" android:layout_height="match_parent">

<com.android.launcher.Workspace

android:id="@+id/workspace"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

launcher:defaultScreen="1">


<include android:id="@+id/cell1" layout="@layout/workspace_screen" />

<include android:id="@+id/cell2" layout="@layout/workspace_screen" />

<include android:id="@+id/cell3" layout="@layout/workspace_screen" />

</com.android.launcher.Workspace>

2、该控件workspace下面有一个属性是launcher:defaultScreen,这属性不是ViewGroup(workspace类是继承于ViewGroup)所定义的属性,那么我们可以在\res\values里面的attrs.xml里面定义

具体的定义方法如下:

<resources>

<declare-styleable name="Workspace">

<attr name="defaultScreen" format="integer"/>

</declare-styleable>

</resources>

引用方法是先申明xmlns:launcher="http://schemas.android.com/apk/res/com.junction.launcher"(R.java),这样就可以使用launcher:defaultScreen。

3、这样我们在Workspace的类里面就可以去除在layout里面对该属性的赋值,方法如下:

Int mDefaultScreen;

TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.Workspace, defStyle, 0);

mDefaultScreen = a.getInt(R.styleable.Workspace_defaultScreen, 1);

a.recycle();

++++++++++++++++++++++++++++++

自己案例:可看一个gifPlayer的demo程序。

其他案例:http://blog.csdn.net/Android_Tutor/archive/2010/04/20/5508615.aspx

++++++++++++++++++++++++++++++

转载自:http://blog.csdn.net/tinafhx/archive/2010/02/05/5290878.aspx

更多相关文章

  1. Android自定义控件布局刷新自定义控件回到初始位置问题的解决
  2. 【Android】Web开发之使用WebView控件展示Web页面
  3. 转 Android中shape中的属性大全
  4. RelativeLayout相对布局中的属性
  5. 在Fragment中设置控件点击方法,执行失败。
  6. Android Studio & ADT 快捷键配置文件所在目录,自定义后可导入导

随机推荐

  1. Linux下升级python3到python3.8
  2. html中节点的常用属性和方法
  3. JavaScript对象与其复制清除方法简析
  4. 什么是Python,如何安装使用Python
  5. 你真的明白HTML标签的语义化吗?为什么不能
  6. audio通知栏切换歌曲停止播放,怎么破
  7. 干货丨DolphinDB文本数据加载教程
  8. 闪存连接时显示驱动器可能已损坏要检查并
  9. rem与em
  10. 数据处理不等式:Data Processing Inequali