标签导航:

android自定义textview属性:如何定义、设置和获取自定义属性值?

android 自定义视图属性及获取

在开发 android 应用程序时,常常需要扩展 textview 的功能并添加自定义属性以满足特定需求。本文将介绍如何定义、设置和获取 textview 的自定义属性。

定义自定义属性

自定义属性需要在 attrs.xml 文件中定义。在 res/values/attrs.xml 文件中,添加以下代码:

<resources>
    <declare-styleable name="customtextview">
        <attr name="value" format="string" />
    </declare-styleable>
</resources>

这里的 customtextview 是自定义属性集合的名称,value 是一个字符串类型的自定义属性。

设置自定义属性值

要在 xml 布局文件中设置自定义属性值,请在相应视图中使用 app:value 属性。例如:

<textview
    style="@style/fragment_home_drawer_search_item_text"
    android:text="18-25"
    app:value="18-25"
/>

这里,app:value 属性的值为 "18-25"。

获取自定义属性值

要获取自定义属性值,可以使用 typedarray 类:

fun ageItemClickHandle(view: View) {
    if (view is TextView) {
        val textView = view as TextView
        val typedArray = context.obtainStyledAttributes(textView, R.styleable.CustomTextView)
        val value = typedArray.getString(R.styleable.CustomTextView_value)
        typedArray.recycle()

        // ...
    }
}

这里的 context 是活动的上下文,r.styleable.customtextview 是指向自定义属性集合的引用,value 是获取到的自定义属性值。