通常,自定义属性的示例采用以下形式:
<declare-stylable name="MyView">
<attr name="name" format="string"/>
</declare-styleable>
及其用法:
<com.example.test.MyView
customns:name="Hello"/>
因此自定义视图与可样式化属性具有相同的名称。
但是在这个例子中(点击查看完整代码)你会看到:
<declare-styleable name="Options">
<attr name="titleText" format="string" localization="suggested" />
<attr name="valueColor" format="color" />
</declare-styleable>
使用者:
<com.vogella.android.view.compoundview.ColorOptionsView
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
custom:titleText="Background color"
custom:valueColor="@android:color/holo_green_light"
/>
这让我想知道,它是如何ColorOptionsView
与 name 定义的属性相关联的Options
?