aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/CustomView
diff options
context:
space:
mode:
authorAlex Ning <chineseperson5@gmail.com>2018-12-22 02:42:24 +0000
committerAlex Ning <chineseperson5@gmail.com>2018-12-22 02:42:24 +0000
commit60b659e651b4d8e7d9ca26b17ba8990497022ed1 (patch)
tree354825f6ede0d3fac91c09b2195e8c225111090b /app/src/main/java/CustomView
parent33db4809e4376f91a566037f16694f8f19639e02 (diff)
downloadinfinity-for-reddit-60b659e651b4d8e7d9ca26b17ba8990497022ed1.tar
infinity-for-reddit-60b659e651b4d8e7d9ca26b17ba8990497022ed1.tar.gz
infinity-for-reddit-60b659e651b4d8e7d9ca26b17ba8990497022ed1.tar.bz2
infinity-for-reddit-60b659e651b4d8e7d9ca26b17ba8990497022ed1.tar.lz
infinity-for-reddit-60b659e651b4d8e7d9ca26b17ba8990497022ed1.tar.xz
infinity-for-reddit-60b659e651b4d8e7d9ca26b17ba8990497022ed1.tar.zst
infinity-for-reddit-60b659e651b4d8e7d9ca26b17ba8990497022ed1.zip
Use GifImageView to display all the images in order to prevent slow playing of the gifs. Extend GifImageView as AspectRatioGifImageView to retain the features of AspectRatioImageView.
Diffstat (limited to 'app/src/main/java/CustomView')
-rw-r--r--app/src/main/java/CustomView/AspectRatioGifImageView.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/app/src/main/java/CustomView/AspectRatioGifImageView.java b/app/src/main/java/CustomView/AspectRatioGifImageView.java
new file mode 100644
index 00000000..379c8697
--- /dev/null
+++ b/app/src/main/java/CustomView/AspectRatioGifImageView.java
@@ -0,0 +1,54 @@
+package CustomView;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.util.AttributeSet;
+
+import com.felipecsl.gifimageview.library.GifImageView;
+
+public class AspectRatioGifImageView extends GifImageView {
+ private float ratio;
+
+ public final float getRatio() {
+ return this.ratio;
+ }
+
+ public final void setRatio(float var1) {
+ this.ratio = var1;
+ }
+
+ private final void init(Context context, AttributeSet attrs) {
+ if (attrs != null) {
+ TypedArray a = context.obtainStyledAttributes(attrs, com.santalu.aspectratioimageview.R.styleable.AspectRatioImageView);
+ this.ratio = a.getFloat(com.santalu.aspectratioimageview.R.styleable.AspectRatioImageView_ari_ratio, 1.0F);
+ a.recycle();
+ }
+
+ }
+
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ int width = this.getMeasuredWidth();
+ int height = this.getMeasuredHeight();
+ if (width != 0 || height != 0) {
+ if (width > 0) {
+ height = (int)((float)width * this.ratio);
+ } else {
+ width = (int)((float)height / this.ratio);
+ }
+
+ this.setMeasuredDimension(width, height);
+ }
+ }
+
+ public AspectRatioGifImageView(Context context) {
+ super(context);
+ this.ratio = 1.0F;
+ }
+
+ public AspectRatioGifImageView(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.ratio = 1.0F;
+ this.init(context, attrs);
+ }
+}