android - 带有背景颜色的 TextView

标签 android xml user-interface textview

我是安卓新手。我在做一个应用程序时卡住了。我已经使用了 5 个带时隙的 TextView ,我想表明当我单击一个 TextView 时它应该更改其背景颜色,当我单击另一个 TextView 时第一个 TextView 的背景颜色必须消失并且当前 TextView 的颜色必须突出显示。

Image Here

我在这里发布我的代码:

public void onClick(View v) {
    switch (v.getId()){
        case R.id.time_slot_one:
            setTimeSlotOne.setBackgroundColor(Color.parseColor("#bdbdbd"));
        break;

        case R.id.time_slot_two:
            setTimeSlotTwo.setBackgroundColor(Color.parseColor("#bdbdbd"));
            break;
        case R.id.time_slot_three:
            setTimeSlotThree.setBackgroundColor(Color.parseColor("#bdbdbd"));
            break;
        case R.id.time_slot_four:
            setTimeSlotFour.setBackgroundColor(Color.parseColor("#bdbdbd"));
            break;
        case R.id.time_slot_five:
            setTimeSlotFive.setBackgroundColor(Color.parseColor("#bdbdbd"));
            break;
    }

最佳答案

一种简单的方法是创建一个禁用后台函数,每次您点击一个新的后台函数时都会调用该函数。

public void removeBackgroundColors() {
    setTimeSlotOne.setBackgroundColor(Color.WHITE);
    setTimeSlotTwo.setBackgroundColor(Color.WHITE);
    setTimeSlotThree.setBackgroundColor(Color.WHITE);
    setTimeSlotFour.setBackgroundColor(Color.WHITE);
    setTimeSlotFive.setBackgroundColor(Color.WHITE);
}

现在只需将您的代码更改为:

case R.id.time_slot_two:  
    removeBackgroundColors();
    setTimeSlotTwo.setBackgroundColor(Color.parseColor("#bdbdbd"));
    break;
...

更简单的是在你的案例陈述之前调用它,这取决于你想采取什么行动。

关于android - 带有背景颜色的 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37879744/

相关文章:

android - 无法在 Android 中创建 Firebase 用户

java - Android,我无法刷新我的 fragment 数据?

php - 如何填充复合消息并作为 SoapServer 响应 XML 返回?

user-interface - Matplotlib 绘图用滚轮缩放

java - 如何使用 Java 中的 JButton 操作调整 JWindow 的宽度和高度?

安卓。 Facebook SDK 好友列表

android - 是否有可能在 Firebase 中控制洪水

java - 如何修复此错误 AAPT2 错误 : check logs for details?

xml - 在 .xsl 中,采用类似 "130-210"的范围值,并确定 "86"或 "458"是否在该数值范围内

python - 为什么子图没有占用嵌入 Tkinter 的 Matplotlib 中图形允许的所有空间?