如何在按下另一个按钮之前更改按钮状态?

Posted

技术标签:

【中文标题】如何在按下另一个按钮之前更改按钮状态?【英文标题】:How do I change a button state until another button is pressed? 【发布时间】:2018-06-30 06:30:03 【问题描述】:

我有一个将可绘制 XML 文件设置为背景的按钮,这样当按下按钮时,按钮的背景颜色和轮廓会发生变化。然而它并没有保持这种状态,一秒钟后它又回到了原来的样子。如何让它保持更改后的颜色,直到按下不同的按钮?

<item android:state_pressed="true" >
    <shape>
        <solid
            android:color="#99000000" />
        <stroke
            android:
            android:color="#489d73" />
    </shape>
</item>
<item>
    <shape>
        <gradient
            android:startColor="#66000000"
            android:endColor="#66000000"
            android:angle="270" />

    </shape>
</item>

【问题讨论】:

【参考方案1】:

您可以像这样以编程方式更改按钮背景。

btn.setBackgroundResource(R.drawable.buttondrawable)

【讨论】:

【参考方案2】:

如果您希望按钮在更改之前保持其颜色,则必须以编程方式更改其背景。

【讨论】:

【参考方案3】:

为每个按钮状态创建背景可绘制对象。然后,当单击另一个按钮时,以编程方式更改视图的背景。

【讨论】:

以上是关于如何在按下另一个按钮之前更改按钮状态?的主要内容,如果未能解决你的问题,请参考以下文章

Android:如何在按下按钮时关闭一个活动并在按下另一个按钮时关闭整个后台堆栈? [复制]

如何更改 UIpickerView 上的元素按下按钮或按下另一个按钮

按下另一个按钮后,列表磁贴按钮会更改状态

单击不是提交按钮后如何禁用html按钮

多次按下按钮时声音重叠

如何在按下按钮之前激活按钮?