gpt4 book ai didi

android - 选择器继承

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:05 25 4
gpt4 key购买 nike

有没有办法继承 Android 中已知的选择器

我想扩展一个 EditText 并添加一个自定义状态,到目前为止我理解使用 onCreateDrawableState() 方法来完成它。 When an selector comes into play is there an easy way to use the default selectors and just add mine instead of defining them again ?

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.my.package">

<item android:state_enabled="false" android:drawable="@drawable/login_textfield_bg_error" />
<item android:state_window_focused="false" android:drawable="@drawable/login_textfield_bg_error">
<item android:state_pressed="true" android:drawable="@drawable/login_textfield_bg_error" />
<item android:state_selected="true" android:drawable="@drawable/login_textfield_bg_error" />
<item app:errorBackground="@drawable/login_textfield_bg_error" />
</selector>

最佳答案

我可能有误解,但也许你可以简单地委托(delegate)给他们?

所以在你的情况下你有一个自定义状态,所以如果你只定义你的自定义状态适用的情况,你不能这样做:

<selector xmlns:android="..." xmlns:app="...">
<item app:custom_state="true" android:drawable="@drawable/the_one_care_about"/>
<item android:drawable="@android:drawable/editbox_background"/>
</selector>

所以这基本上说明了,对于我的自定义状态为真的状态,显示我的自定义背景...但是对于所有其他状态,行为与此选择器相同。这个选择器恰好有针对其他州的说明,所以也请遵循它们。所以没有重新定义,因为状态是按从上到下的顺序评估的,从技术上讲你不需要重新定义任何东西,你只是说你只想定义状态的一个子集并委托(delegate)给这个其他可绘制对象(恰好是另一个选择器)用于所有其他内容。这有帮助吗?

关于android - 选择器继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8343265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com