Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android上获取按钮的背景色?_Android_Background Color - Fatal编程技术网

如何在android上获取按钮的背景色?

如何在android上获取按钮的背景色?,android,background-color,Android,Background Color,我想知道按钮的颜色。。我无法从返回drawable的getbackground函数中获取颜色。我使用了getsolidcolor,它返回整数值,但始终为0(零)。。 我不明白问题出在哪里。也许这不是真正的功能 这是我的android代码 int renk = btn1.getSolidColor(); if(renk== Color.GREEN) Toast.makeText(getApplicationContext(), "g

我想知道按钮的颜色。。我无法从返回drawable的getbackground函数中获取颜色。我使用了getsolidcolor,它返回整数值,但始终为0(零)。。 我不明白问题出在哪里。也许这不是真正的功能

这是我的android代码

            int renk = btn1.getSolidColor();

        if(renk== Color.GREEN)
            Toast.makeText(getApplicationContext(), "green" , 1000).show();
        else if(renk== Color.RED)
            Toast.makeText(getApplicationContext(), "red" , 1000).show();
        else if(renk== Color.YELLOW)
            Toast.makeText(getApplicationContext(), "yellow" , 1000).show();
        else
            Toast.makeText(getApplicationContext(), "unknown", 1000).show();

        btn1.setBackgroundColor(Color.YELLOW);
     renk = btn1.getSolidColor();


        if(renk== Color.GREEN)
            Toast.makeText(getApplicationContext(), "green" , 1000).show();
        else if(renk== Color.RED)
            Toast.makeText(getApplicationContext(), "red" , 1000).show();
        else if(renk== Color.YELLOW)
            Toast.makeText(getApplicationContext(), "yellow" , 1000).show();
        else
            Toast.makeText(getApplicationContext(), "unknown", 1000).show();
即使我将背景设置为黄色,我也会收到未知的祝酒词。

给你

 Button myButton = (Button) findViewById(R.id.takePicture);

 myButton.setBackgroundDrawable(new PaintDrawable(Color.YELLOW));

 PaintDrawable drawable = (PaintDrawable) myButton.getBackground();

 int color = drawable.getPaint().getColor();

?? 这不总是返回黄色吗?我使用了这个
((ColorDrawable)row.getBackground()).getColor()
作为
(row.background作为ColorDrawable)。color
但是我遇到了这个错误
android.graphics.drawable.StateListDrawable无法转换为android.graphics.drawable.ColorDrawable