2015-07-12 74 views
-4

請給我建議一些改變按鈕背景顏色的好習慣(幾秒鐘)。我使用Android API 22如何在點擊後暫時改變Android按鈕樣式?

Button before click

after click

+1

那你試試這麼遠嗎?請張貼任何相關的代碼。 – cygery

+0

我要求幫助以找出哪些樣式控制負責這樣的事情,所以我沒有嘗試任何代碼。如果你現在在Android風格指南,我可以找到答案,請指出我。 –

+0

如何http://developer.android.com/reference/android/view/View.html#setBackgroundResource (int) –

回答

1

我有一個類似的問題,幾天就回來,所以隨意使用我的代碼。

Button myButton; //as a "global" variable so that it is also recognized in the onClick event. 

myButton = (Button) findViewById(R.id.b) 
myButton.setBackgroundColor(Color.BLACK); //set the color to black 
myButton.setOnClickListener(new View.OnClickListener() {   
    @Override 
    public void onClick(View v) { 
     myButton.setBackgroundColor(Color.RED); //set the color to red 
     // Delay of 2 seconds (200 ms) before changing back the color to black 
     final Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       myButton.setBackgroundColor(Color.BLACK); //set the color to black 
      } 
     }, 200); 
    } 
} 

如果這被認爲是雖好做法,我不知道......

有一個愉快的一天!

+0

謝謝,它的工作原理 –

0

我想出了這個解決方案的Android API 21:

@Override 
public void onClick(final View view) { 
    final int redColor = 0xFFFF0000; 
    view.getBackground().setColorFilter(redColor, PorterDuff.Mode.MULTIPLY); 
    final Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      view.getBackground().clearColorFilter(); 
     } 
    }, 700); 
}