【问题标题】:ImageView setClickable(true) ... setPressed(true) not staying pressedImageView setClickable(true) ... setPressed(true) 没有保持按下状态
【发布时间】:2011-12-16 20:22:27
【问题描述】:

我有一个ImageView,我将其设置为setImageResource(R.drawable.someStateListDrawable)。一切正常,当它被点击时,它显示按下状态。但是,我已经将它设置为onClickImageView 设置为“setPressed(true)”,以便它保持按下状态。但由于某种原因,它不是......有什么想法吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    我刚刚在按钮上遇到了同样的问题。当onClick 我将它设置为按下状态(btn.setPressed(true))但之后按钮没有被按下。

    如果这对某人有帮助,我最终使用了选定的状态。我的可绘制 xml 看起来像

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_selected="true" android:drawable="@drawable/menu_button_pressed"/>
    </selector>
    

    onClick,我现在使用btn.setSelected( true )

    我不知道setPressed 有什么问题,但这对我有用。

    【讨论】:

    • 是的,我也发现了这一点。谢谢!
    • 我已经为此苦苦挣扎了好几个小时!似乎Android在onClick之前和之后都在改变“按下”状态......感谢您的解决方案
    【解决方案2】:

    您检查过this 的问题吗?他基本上说使用选择器,并在 xml 中执行以下操作:

    <item android:state_pressed="true"   
        android:drawable="@color/gray" />
    

    当然,您需要对其进行修改以满足您的需要。

    【讨论】:

    • 当然,我已经在我的选择器中定义了一个按下状态。这就是为什么它在单击时切换到按下状态的原因。我只想说按下。
    猜你喜欢
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多