После нескольких проб: сначала я пытаюсь использовать изображение в качестве Drawable ресурсов и это все еще происходит (прозрачная часть изображения становятся черными), во-вторых, я преобразовать изображение в изображение PNG и это работа, поэтому проблема находится в типе файла (gif). Поскольку в моем реальном приложении изображение получено с сервера, и я не могу запросить изображение, как всегда, в формате png, я использую решение по этой ссылке: Transparent GIF in Android ImageView
это просто для отображения только одного изображения (как в моем вопросе), поскольку я использую Пикассо Я использую цель, чтобы удалить черный цвет из изображения аватара как это:
target = new Target() {
@Override
public void onPrepareLoad(Drawable arg0) {
}
@Override
public void onBitmapLoaded(Bitmap bitmap, LoadedFrom arg1) {
if (Build.VERSION.SDK_INT == 19/*Build.VERSION_CODES.KITKAT*/){
Bitmap editedavatar = AndroidUtils.eraseColor(bitmap, -16777216);
avatar.setImageBitmap(editedavatar);
}
}
@Override
public void onBitmapFailed(Drawable arg0) {
avatar.setImageResource(R.drawable.ic_profile_default);
, где стирание цвет статический метод
public static Bitmap eraseColor(Bitmap src, int color) {
int width = src.getWidth();
int height = src.getHeight();
Bitmap b = src.copy(Config.ARGB_8888, true);
b.setHasAlpha(true);
int[] pixels = new int[width * height];
src.getPixels(pixels, 0, width, 0, 0, width, height);
for (int i = 0; i < width * height; i++) {
if (pixels[i] == color) {
pixels[i] = 0;
}
}
b.setPixels(pixels, 0, width, 0, 0, width, height);
return b;
}
но так как я использую Пикассо для отображения изображений в виде списка, Я импе lements Target в ViewHolder, и это очень хорошо работает до сих пор.
Каков цвет вашего фона? –
Вы можете настроить цвет фона ImageView на прозрачный. –
@ConnectinglifewithAndroid none, нет фона для изображения, а также макета контейнера imageview – hakim