2012-03-23 11 views
7

私はボタンの色を取得したい。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(); 

は....

ここ

答えて

8

屋が行く..私はちょうど私が黄色の背景を設定しても、未知のトーストメッセージを取得していない真の関数であります
Button myButton = (Button) findViewById(R.id.takePicture); 

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

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

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

はいそれも動作します:)ありがとうございます.. – unbalanced

+0

素敵な解決策:) – Meenal

+0

??それはちょうど黄色に戻るだけではないでしょうか? – Matthias