【发布时间】:2023-03-11 09:59:01
【问题描述】:
我想为我的一个自定义视图创建一个新的 xml 参数,以处理其中某些内容的可见性。我当然可以用其他方式来做,但我想用一种可以使用普通 android 参数来改变它的方式来做。
类似:
<MyCustomView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:my_custom_visibility="gone"/>
所以我只能这样做
viewToBeHidden.visibility = a.getInt(R.styleable.my_custom_view_my_custom_visibility, View.Visible);
我尝试了,因为可见性是整数,但它不允许我在视图声明中消失
<attr name="my_custom_visibility" format="integer" />
使用
<attr name="my_custom_visibility" format="reference" />
导致编译错误:
AAPT: error: 'gone' is incompatible with attribute my_custom_visibility (attr) reference [weak].
该属性可用的其他类型似乎不适用于这种情况。
有没有办法做到这一点?
【问题讨论】:
-
尝试这里描述的枚举类型stackoverflow.com/a/54341705/9241978
-
返回类型是 View.Visible 的枚举 | View.Gone.. 不是整数
-
认为会有更好的方法来做到这一点,这要归功于两者
标签: android view visibility custom-attributes