ユーザが設定した選択されたプライマリカラーに応じてドロアブルにカラーフィルタを適用しようとしています。これは私が使用しているコードです。setColorFilterがアンドロイドのドロウアブルで動作しない場合があります
getResources().getDrawable(R.drawable.ic_batman_1)
.setColorFilter(ColorHelper.getPrimaryColor(), PorterDuff.Mode.OVERLAY);
問題は、時には、このコードがdrawableのカラーフィルタを変更しないことです。このコードを自分のアクティビティ(主なアクティビティ)onCreateメソッドとonResumeメソッドに配置しました。
アプリが起動するとすぐに、このカラーフィルタをそのドロワブルに適用することができますが、時にはそれが起こっていないことがあります。私はまた、この問題はハイエンドのモバイル(高速プロセッサ、より多くのRAM)ではなくローエンドのモバイルでのみ起こっていることに気付きました。
他のアクティビティを参照してメインアクティビティに戻った場合、カラーフィルタが適用されます。コードをデバッグし、適切なカラーパラメータで起動中にsetColorFilterが呼び出されていますが、何らかの理由でそれが適用されません。どんな種類の助けにも感謝します。
これは愚かな質問だと思うなら、この質問をdownvoteしないでください、ちょうどコメントと私は質問を下げます。私は質問をするためにSOで禁止される寸前です。
はあなたにMuthukrishnanをありがとう、それが働きました!私は先週からこれ以上頭を悩ませてきた。このコードを可能な限りの場所に配置しようとしました。あなたは人生の節約者です。 –