aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/CustomView
diff options
context:
space:
mode:
Diffstat (limited to '')
-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);
+ }
+}