私のアプリには次のコードがあります。ここでは、基本的にビットマップをグレー表示しています。ビットマップのぼかしは、画像をぼかすことによって得られます。Android:ビットマップ設定ARGB_8888が一部のデバイスで動作しない
final Bitmap resultBitmap = Bitmap.createBitmap(blurred.getWidth(), blurred.getHeight(), Bitmap.Config.ARGB_8888);
final Canvas c = new Canvas(resultBitmap);
c.drawBitmap(blurred, 0, 0, null);
final Paint p = new Paint();
p.setAlpha(127);
c.drawBitmap(Bitmap.createBitmap(linearLayout.getWidth(), linearLayout.getHeight(), Bitmap.Config.RGB_565), 0, 0, p);
BitmapDrawable background = new BitmapDrawable(getResources(), resultBitmap);
linearLayout.setBackground(background);
このコードは、すべてのデバイスで期待どおり動作しますが、Micromax E313では希望の結果が得られません。いくつかのデバッグ後、私は問題が今、問題は解決しRGB_565
を使用してライン
final Bitmap resultBitmap = Bitmap.createBitmap(blurred.getWidth(), blurred.getHeight(), Bitmap.Config.ARGB_8888);
でARGB_8888の使用であることがわかりますが、それはARGB_8888
に見える結果として得られたビットマップがほど良く見えません。
私の質問は、そのようなデバイスでARGB_8888を動作させる方法です。そうでない場合はARGB_8888
がサポートされているかどうかを確認する方法がありますので、そのようなデバイスでRGB_565
にフォールバックすることができます。前もって感謝します !!