From 9b9519ed60fb13a594f06eb8ea64686dd37d99bd Mon Sep 17 00:00:00 2001 From: NudeDude Date: Mon, 8 Oct 2018 17:47:57 +0200 Subject: [PATCH] new Image Preview --- .../twidda/adapter/ImageAdapter.java | 76 +++++++++++++++++++ app/src/main/res/drawable/left.xml | 9 --- app/src/main/res/layout/item_load.xml | 2 +- app/src/main/res/layout/page_image.xml | 1 - app/src/main/res/layout/page_login.xml | 7 +- app/src/main/res/values-de-rDE/strings.xml | 2 - app/src/main/res/values/strings.xml | 2 - 7 files changed, 81 insertions(+), 18 deletions(-) create mode 100644 app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java delete mode 100644 app/src/main/res/drawable/left.xml diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java new file mode 100644 index 00000000..2e265bcd --- /dev/null +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/ImageAdapter.java @@ -0,0 +1,76 @@ +package org.nuclearfog.twidda.adapter; + +import android.graphics.Bitmap; +import android.support.annotation.NonNull; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.RecyclerView.ViewHolder; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; + +import java.util.ArrayList; +import java.util.List; + + +public class ImageAdapter extends RecyclerView.Adapter { + + private OnImageClickListener l; + private List images; + + public ImageAdapter(OnImageClickListener l) { + images = new ArrayList<>(); + this.l = l; + } + + + public void addImage(Bitmap image) { + images.add(image); + } + + + @Override + public int getItemCount() { + return images.size(); + } + + + @NonNull + @Override + public ImageAdapter.ImageHolder onCreateViewHolder(@NonNull final ViewGroup parent, int viewType) { + ImageView imageView = new ImageView(parent.getContext()); + return new ImageHolder(imageView); + } + + + @Override + public void onBindViewHolder(@NonNull final ImageAdapter.ImageHolder vh, int index) { + final Bitmap image = images.get(index); + float ratio = image.getHeight() / 256.0f; + int destWidth = (int) (image.getWidth() / ratio); + Bitmap result = Bitmap.createScaledBitmap(image, destWidth, 256, false); + + vh.item.setImageBitmap(result); + vh.item.setBackgroundColor(0xffffffff); + vh.item.setPadding(1, 1, 1, 1); + vh.item.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + l.onImageClick(image); + } + }); + } + + + public interface OnImageClickListener { + void onImageClick(Bitmap image); + } + + class ImageHolder extends ViewHolder { + final ImageView item; + + ImageHolder(ImageView item) { + super(item); + this.item = item; + } + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/left.xml b/app/src/main/res/drawable/left.xml deleted file mode 100644 index 84c8351f..00000000 --- a/app/src/main/res/drawable/left.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/layout/item_load.xml b/app/src/main/res/layout/item_load.xml index 883f9d58..5b8a8771 100644 --- a/app/src/main/res/layout/item_load.xml +++ b/app/src/main/res/layout/item_load.xml @@ -13,11 +13,11 @@ \ No newline at end of file diff --git a/app/src/main/res/layout/page_image.xml b/app/src/main/res/layout/page_image.xml index 38656a32..6a2d4606 100644 --- a/app/src/main/res/layout/page_image.xml +++ b/app/src/main/res/layout/page_image.xml @@ -5,7 +5,6 @@ android:orientation="vertical"> diff --git a/app/src/main/res/layout/page_login.xml b/app/src/main/res/layout/page_login.xml index e419994e..e7fa0962 100644 --- a/app/src/main/res/layout/page_login.xml +++ b/app/src/main/res/layout/page_login.xml @@ -2,6 +2,7 @@ -