gpt4 book ai didi

android - 了解 View.drawableStateChanged

转载 作者:行者123 更新时间:2023-12-04 01:26:15 25 4
gpt4 key购买 nike

谁能解释一下确切的时间View.drawableStateChanged叫做?我想将它与 ViewGroup.setAddStatesFromChildren 结合使用使一个完整的 ViewGroup “光学”聚焦,意思是例如例如,更改背景颜色此 ViewGroupEditText 获得焦点。

当我实现 View.drawableStateChanged 时,它经常被调用,我怎么知道当前的调用是我关心的?与设置将监听器集中在 subview 上相比,有什么优势?

最佳答案

你可以了解更多here .

View.drawableStateChanged() is called whenever the state of the view changes in sucha way that it impacts the state of drawables being shown.

如果您像这样创建可绘制对象:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="#ffff0000"/>
<item android:state_focused="true"
android:color="#ff0000ff"/>
<item android:state_enabled="true"
android:color="#ff00ffff"/>
<item android:color="#ff000000"/>
</selector>

这个可绘制对象主要有不同的状态(如state_pressedstate_focusedstate_enabled)。如果您已将可绘制对象设置为特定 View 并且该 View 是可点击的,那么当您点击该 View 时,此状态通常会发生变化。

您可以使用 setOnFocusChangeListener 检查焦点变化和 setOnTouchListener 触摸事件。此外,您可以检查以启用/禁用该 View 的状态 onClick() 事件。

更新:该方法已弃用,请关注this link了解更多。

关于android - 了解 View.drawableStateChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61900749/

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