new Image Preview
This commit is contained in:
parent
85707c6b79
commit
9b9519ed60
@ -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<ImageAdapter.ImageHolder> {
|
||||
|
||||
private OnImageClickListener l;
|
||||
private List<Bitmap> 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;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="20.0"
|
||||
android:viewportHeight="20.0">
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:pathData="M12.452,4.516c0.446,0.436 0.481,1.043 0,1.576L8.705,10l3.747,3.908c0.481,0.533 0.446,1.141 0,1.574c-0.445,0.436 -1.197,0.408 -1.615,0c-0.418,-0.406 -4.502,-4.695 -4.502,-4.695C6.112,10.57 6,10.285 6,10s0.112,-0.57 0.335,-0.789c0,0 4.084,-4.287 4.502,-4.695C11.255,4.107 12.007,4.08 12.452,4.516z" />
|
||||
</vector>
|
@ -13,11 +13,11 @@
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/kill_button"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_gravity="center"
|
||||
android:contentDescription="@string/progress_kill"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
app:srcCompat="@drawable/cross" />
|
||||
|
||||
</FrameLayout>
|
@ -5,7 +5,6 @@
|
||||
android:orientation="vertical">
|
||||
|
||||
<android.support.v7.widget.Toolbar
|
||||
android:id="@+id/image_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/bar_wide" />
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:background="@color/DarkBlue"
|
||||
android:gravity="center"
|
||||
@ -37,12 +38,12 @@
|
||||
android:padding="5dp"
|
||||
android:singleLine="true" />
|
||||
|
||||
<Button
|
||||
<ImageButton
|
||||
android:id="@+id/clipboard"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:background="@drawable/copy" />
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
app:srcCompat="@drawable/copy" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
<string name="font">Schrift</string>
|
||||
<string name="highlight">Hervorhebung</string>
|
||||
<string name="verify">verifiziert</string>
|
||||
<string name="fullimg">Großbild</string>
|
||||
<string name="profile_locked">Privat</string>
|
||||
<string name="load_factor">Anzahl Tweets</string>
|
||||
<string name="followback">Folgt dir</string>
|
||||
@ -74,5 +73,4 @@
|
||||
<string name="confirm_block">user sperren?</string>
|
||||
<string name="confirm_delete_dm">Nachricht löschen?</string>
|
||||
<string name="dm_not_found">Nachricht nicht gefunden!</string>
|
||||
<string name="image_preview">Vorschau</string>
|
||||
</resources>
|
@ -15,7 +15,6 @@
|
||||
<string name="popup" translatable="false">Popup</string>
|
||||
<string name="highlight">Highlight</string>
|
||||
<string name="verify">verified</string>
|
||||
<string name="fullimg">big image</string>
|
||||
<string name="profile_locked">locked</string>
|
||||
<string name="load_factor">tweet count</string>
|
||||
<string name="block">Block</string>
|
||||
@ -82,5 +81,4 @@
|
||||
<string name="confirm_log_lout">log out?</string>
|
||||
<string name="confirm_cancel_tweet">cancel tweet?</string>
|
||||
<string name="dm_not_found">message not found!</string>
|
||||
<string name="image_preview">image preview</string>
|
||||
</resources>
|
Loading…
x
Reference in New Issue
Block a user