Android&自定义视图&自定义xml属性

时间:2013-01-16 10:27:18

标签: android xml view custom-controls

假设我有一个有效的自定义视图,名为 com.package.MyCustomView (MyCustomView扩展了LinearLayout或任何视图)

我可以在像这样的活动布局中使用它

<com.package.MyCustomView
        android:id="@+id/myView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

但我想有这样的事情:

<com.package.MyCustomView
        android:id="@+id/myView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        MyCustomView_attribute1="100"
        MyCustomView_attribute2="fantastic"/>

我想象如果有效的android xml属性如 android:layout_width ,相关的value (match_parent, wrap_content)将设置在父View对象的特定属性上(通过使用反射或随你.. )。我也知道名称空间的存在(该行:xmlns:android="http://schemas.android.com/apk/res/android")..

无论如何,我想要一些相同的东西 - 我的自定义的自定义xml属性...

这可能吗?如果是 - 如何?请提供一些细节

2 个答案:

答案 0 :(得分:1)

使用它声明可设置样式的资源和一些自定义属性。 Official android tutorial

答案 1 :(得分:0)

是的,你可以这样做......它会起作用

  <com.example.application.Drawer
         xmlns:my="http://schemas.android.com/apk/res/com.example.application"
         android:id="@+id/drawer"
         android:layout_width="301dp"
         android:layout_height="wrap_content"
         my:content="@+id/content"
         my:handle="@+id/handle" >

但有一点是你应该在src

中拥有上述包