其他分享
首页 > 其他分享> > android – OnClick更改tablerow背景颜色

android – OnClick更改tablerow背景颜色

作者:互联网

所以我试图找到一种简单的方法来获取背景颜色或表格行在点击时更改.我一直试图找到一种方法来调用背景颜色并检查它,但我还没有找到一种方法来调用颜色.这就是我现在所拥有的.

    RowName = (TableRow) findViewById(R.id.RowName); 
    RowName.setBackgroundColor(Color.TRANSPARENT);

    RowName.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {

            if (RowName.equals(Color.TRANSPARENT))
            RowName.setBackgroundColor(Color.YELLOW);

            else if (RowName.equals(Color.YELLOW))
            RowName.setBackgroundColor(Color.TRANSPARENT);
        }
    });

我知道这是错的.希望你能看到我想要完成的事情.如果没有,我想要做的是让表格行开始透明.当有人点击表格行时,我希望它变为黄色.然后,如果他们再次点击它,我希望它改回透明状态.谢谢.

解决方法:

您需要将行的背景颜色设置为可绘制的状态列表(处理选择,按下,激活,非活动).

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

XML应如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--  Active state -->
    <item android:state_selected="true" android:state_focused="false"
        android:state_pressed="false" android:drawable="@android:color/transparent" />
    <!--  Inactive state-->
    <item android:state_selected="false" android:state_focused="false"
        android:state_pressed="false" android:drawable="@android:color/transparent" />
    <!--  Pressed state-->
    <item android:state_pressed="true" android:drawable="@android:color/yellow" />
    <!--  Selected state (using d-pad) -->
    <item android:state_focused="true" android:state_selected="true"
        android:state_pressed="false" android:drawable="@android:color/yellow" />
</selector>

标签:colors,tablerow,android
来源: https://codeday.me/bug/20190721/1497032.html