From b0b6adc58b4fd8df291ffa58f3014e1da3e42f23 Mon Sep 17 00:00:00 2001 From: unyoungwax Date: Tue, 23 Feb 2016 14:41:26 +0800 Subject: Resize QR code properly in landscape orientation --- OpenKeychain/src/main/res/layout/qr_code_activity.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'OpenKeychain') diff --git a/OpenKeychain/src/main/res/layout/qr_code_activity.xml b/OpenKeychain/src/main/res/layout/qr_code_activity.xml index 5709bf0ff..47f5c06d8 100644 --- a/OpenKeychain/src/main/res/layout/qr_code_activity.xml +++ b/OpenKeychain/src/main/res/layout/qr_code_activity.xml @@ -27,12 +27,11 @@ app:cardUseCompatPadding="true" app:cardCornerRadius="4dp"> - + android:layout_height="match_parent" + android:scaleType="centerInside"/> -- cgit v1.2.3 From 19967e235004abdf74e65e1388b9bc4816cfa2dd Mon Sep 17 00:00:00 2001 From: unyoungwax Date: Tue, 23 Feb 2016 14:41:54 +0800 Subject: Remove AspectRatioImageView --- .../keychain/ui/widget/AspectRatioImageView.java | 138 --------------------- OpenKeychain/src/main/res/values/attr.xml | 9 -- 2 files changed, 147 deletions(-) delete mode 100644 OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/AspectRatioImageView.java (limited to 'OpenKeychain') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/AspectRatioImageView.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/AspectRatioImageView.java deleted file mode 100644 index 0df5ba5e8..000000000 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/AspectRatioImageView.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (C) 2015 Dominik Schürmann - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package org.sufficientlysecure.keychain.ui.widget; - -import android.content.Context; -import android.content.res.TypedArray; -import android.util.AttributeSet; -import android.widget.ImageView; - -import org.sufficientlysecure.keychain.R; - -/** - * Maintains an aspect ratio based on either width or height. Disabled by default. - * - * from https://gist.github.com/JakeWharton/2856179 - */ -public class AspectRatioImageView extends ImageView { - // NOTE: These must be kept in sync with the AspectRatioImageView attributes in attrs.xml. - public static final int MEASUREMENT_WIDTH = 0; - public static final int MEASUREMENT_HEIGHT = 1; - - private static final float DEFAULT_ASPECT_RATIO = 1f; - private static final boolean DEFAULT_ASPECT_RATIO_ENABLED = false; - private static final int DEFAULT_DOMINANT_MEASUREMENT = MEASUREMENT_WIDTH; - - private float aspectRatio; - private boolean aspectRatioEnabled; - private int dominantMeasurement; - - public AspectRatioImageView(Context context) { - this(context, null); - } - - public AspectRatioImageView(Context context, AttributeSet attrs) { - super(context, attrs); - - TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AspectRatioImageView); - aspectRatio = a.getFloat(R.styleable.AspectRatioImageView_aspectRatio, DEFAULT_ASPECT_RATIO); - aspectRatioEnabled = a.getBoolean(R.styleable.AspectRatioImageView_aspectRatioEnabled, - DEFAULT_ASPECT_RATIO_ENABLED); - dominantMeasurement = a.getInt(R.styleable.AspectRatioImageView_dominantMeasurement, - DEFAULT_DOMINANT_MEASUREMENT); - a.recycle(); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - if (!aspectRatioEnabled) return; - - int newWidth; - int newHeight; - switch (dominantMeasurement) { - case MEASUREMENT_WIDTH: - newWidth = getMeasuredWidth(); - newHeight = (int) (newWidth * aspectRatio); - break; - - case MEASUREMENT_HEIGHT: - newHeight = getMeasuredHeight(); - newWidth = (int) (newHeight * aspectRatio); - break; - - default: - throw new IllegalStateException("Unknown measurement with ID " + dominantMeasurement); - } - - setMeasuredDimension(newWidth, newHeight); - } - - /** - * Get the aspect ratio for this image view. - */ - public float getAspectRatio() { - return aspectRatio; - } - - /** - * Set the aspect ratio for this image view. This will update the view instantly. - */ - public void setAspectRatio(float aspectRatio) { - this.aspectRatio = aspectRatio; - if (aspectRatioEnabled) { - requestLayout(); - } - } - - /** - * Get whether or not forcing the aspect ratio is enabled. - */ - public boolean getAspectRatioEnabled() { - return aspectRatioEnabled; - } - - /** - * set whether or not forcing the aspect ratio is enabled. This will re-layout the view. - */ - public void setAspectRatioEnabled(boolean aspectRatioEnabled) { - this.aspectRatioEnabled = aspectRatioEnabled; - requestLayout(); - } - - /** - * Get the dominant measurement for the aspect ratio. - */ - public int getDominantMeasurement() { - return dominantMeasurement; - } - - /** - * Set the dominant measurement for the aspect ratio. - * - * @see #MEASUREMENT_WIDTH - * @see #MEASUREMENT_HEIGHT - */ - public void setDominantMeasurement(int dominantMeasurement) { - if (dominantMeasurement != MEASUREMENT_HEIGHT && dominantMeasurement != MEASUREMENT_WIDTH) { - throw new IllegalArgumentException("Invalid measurement type."); - } - this.dominantMeasurement = dominantMeasurement; - requestLayout(); - } -} \ No newline at end of file diff --git a/OpenKeychain/src/main/res/values/attr.xml b/OpenKeychain/src/main/res/values/attr.xml index 1a414e6d9..7e8b98343 100644 --- a/OpenKeychain/src/main/res/values/attr.xml +++ b/OpenKeychain/src/main/res/values/attr.xml @@ -10,15 +10,6 @@ - - - - - - - - - -- cgit v1.2.3