首页 > 解决方案 > 将按钮重置为默认背景

问题描述

我知道这已经被问过了,但它已经过时了:

我有 2 个按钮代表 2 个选项,如果选择一个,则背景颜色变为黄色。但是,如果我想更改选择,我需要以某种方式重置按钮:

我已经尝试将其重新设置,但出现了一些旧设计。您能给我提供现代按钮样式的 id 吗?并告诉我如何实现它?

            int myChoice;

            if (view == findViewById(R.id.choice1)){
                myChoice = 1;
                choice1.setBackgroundColor(getResources().getColor(R.color.highlightButton));
                choice2.setBackgroundResource(android.R.drawable.btn_default);
            }

            else if (view == findViewById(R.id.choice2)){
                myChoice = 2;
                choice2.setBackgroundColor(getResources().getColor(R.color.highlightButton));
                choice1.setBackgroundResource(android.R.drawable.btn_default);
            }


        }

标签: javaandroid

解决方案


使用带有 getBackground() 的标签。这将确保您始终设置回原始状态。在函数开头添加以下内容

if (v.getTag() == null)
    v.setTag(v.getBackground());

然后代替setBackgroundResource, 使用

v.setBackground(v.getTag());

推荐阅读