2016-05-27 8 views
2

私はAppCompatCheckBoxで非常に奇妙な動作を検出しましたが、すでに修正を検索しましたが見つかりませんでしたので、ここで尋ねることにしました。AppCompatCheckBoxの色を効率的に変更するにはどうすればよいですか?

私は(私のアプリのカラースキームがdinamically変更として、私は、XMLは、チェックボックスを着色する属性を使用することはできません)、プログラムで確認AppCompatCheckBoxの色を変更しようとしていたので、私はこのアプローチを使用:

chkTos = (AppCompatCheckBox) findViewById(R.id.checkboxTos); 

ColorStateList colorStateList = new ColorStateList(
      new int[][]{ 
        new int[]{-android.R.attr.state_checked}, 
        new int[]{android.R.attr.state_checked}, 
      }, 
      new int[]{ 

        Color.DKGRAY, 
        Color.RED, 
      } 
    ); 
chkTos.setSupportButtonTintList(colorStateList); 

うまくいきましたが、チェックされた色は赤色になりましたが、アニメーションは非常に遅いです。パフォーマンスはひどいです!これをどうすれば解決できますか?

このような経験はありますか?私はあなたにそれを実際に見せたいと思っていました。それをGIFにしようとします!これはサポートライブラリのバグでしょうか?

いくつかの参照:

Change Circle color of radio button- Android

How to change checkbox checked color programmatically

+0

この問題に対する解決策はありますか?私は同じ問題を抱えています。 –

答えて

0

誰でもまだこのバグに苦しんで、代わりの設定についてはSupportButtonTintListあなたはcolorStateListしたいとButtonTintListを設定する必要があります。したがって、コードは次のようになります:

chkTos.setButtonTintList(colorStateList);
関連する問題