aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapCircleThumbnail.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapCircleThumbnail.java')
-rw-r--r--libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapCircleThumbnail.java215
1 files changed, 0 insertions, 215 deletions
diff --git a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapCircleThumbnail.java b/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapCircleThumbnail.java
deleted file mode 100644
index 1eb353770..000000000
--- a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapCircleThumbnail.java
+++ /dev/null
@@ -1,215 +0,0 @@
-package com.beardedhen.androidbootstrap;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.util.AttributeSet;
-import android.util.DisplayMetrics;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.beardedhen.androidbootstrap.utils.ImageUtils;
-
-public class BootstrapCircleThumbnail extends FrameLayout
-{
- private static final int PADDING_SMALL = 4;
- private static final int PADDING_MEDIUM = 4;
- private static final int PADDING_LARGE = 6;
- private static final int PADDING_XLARGE = 8;
-
- private static final int SIZE_SMALL = 48; //dp total size (outer circle)
- private static final int SIZE_MEDIUM = 80;//dp
- private static final int SIZE_LARGE = 112;//dp
- private static final int SIZE_XLARGE = 176;//dp
- private static final int SIZE_DEFAULT = SIZE_MEDIUM;
-
- private static final String SMALL = "small";
- private static final String MEDIUM = "medium";
- private static final String LARGE = "large";
- private static final String XLARGE = "xlarge";
-
- private LinearLayout container;
- private LinearLayout placeholder;
- private ImageView image;
- private TextView dimensionsLabel;
- private String size = MEDIUM;
- private boolean minimal = false;//minimal means display just the image, no padding
- private String text = "";
- private int imageWidth = SIZE_DEFAULT;
- private int imageHeight = SIZE_DEFAULT;
- private int padding = 0;
-
- public BootstrapCircleThumbnail(Context context, AttributeSet attrs, int defStyle)
- {
- super(context, attrs, defStyle);
- initialise(attrs);
- }
-
- public BootstrapCircleThumbnail(Context context, AttributeSet attrs)
- {
- super(context, attrs);
- initialise(attrs);
- }
-
- public BootstrapCircleThumbnail(Context context)
- {
- super(context);
- initialise(null);
- }
-
- private void initialise( AttributeSet attrs )
- {
- LayoutInflater inflator = (LayoutInflater)getContext().getSystemService(
- Context.LAYOUT_INFLATER_SERVICE);
-
-
- TypedArray a = getContext().obtainStyledAttributes(attrs,
- R.styleable.BootstrapCircleThumbnail);
-
-
- int imageDrawable = 0;
-
- if(a.getString(R.styleable.BootstrapCircleThumbnail_bct_image) != null)
- {
- imageDrawable = a.getResourceId(R.styleable.BootstrapCircleThumbnail_bct_image, 0);
-
- }
-
- if(a.getString(R.styleable.BootstrapCircleThumbnail_android_text) != null)
- {
- text = a.getString(R.styleable.BootstrapCircleThumbnail_android_text);
- }
-
- if(a.getString(R.styleable.BootstrapCircleThumbnail_bct_size) != null)
- {
- this.size = a.getString(R.styleable.BootstrapCircleThumbnail_bct_size);
- }
-
- if(a.getString(R.styleable.BootstrapCircleThumbnail_bct_minimal) != null)
- {
- this.minimal = a.getBoolean(R.styleable.BootstrapCircleThumbnail_bct_minimal, false);
- }
-
- a.recycle();
-
- View v = inflator.inflate(R.layout.bootstrap_thumbnail_circle, null, false);
- dimensionsLabel = (TextView) v.findViewById(R.id.dimensionsLabel);
- container = (LinearLayout) v.findViewById(R.id.container);
- placeholder = (LinearLayout) v.findViewById(R.id.placeholder);
- image = (ImageView) v.findViewById(R.id.image);
- float scale = getResources().getDisplayMetrics().density;
-
-
-
- //small image
- if(this.size.equals(SMALL))
- {
- padding = PADDING_SMALL;
- imageWidth = SIZE_SMALL;
- imageHeight = SIZE_SMALL;
-
- }
- else if(this.size.equals(MEDIUM))
- {
- padding = PADDING_MEDIUM;
- imageWidth = SIZE_MEDIUM;
- imageHeight = SIZE_MEDIUM;
- }
- else if(this.size.equals(LARGE))
- {
- padding = PADDING_LARGE;
- imageWidth = SIZE_LARGE;
- imageHeight = SIZE_LARGE;
- }
- else if(this.size.equals(XLARGE))
- {
- padding = PADDING_XLARGE;
- imageWidth = SIZE_XLARGE;
- imageHeight = SIZE_XLARGE;
- }
- //no valid size is given, set image to default size
- else
- {
- padding = PADDING_MEDIUM;
- imageWidth = SIZE_DEFAULT;
- imageHeight = SIZE_DEFAULT;
- }
-
- //convert padding to pixels
- DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
- int paddingPX = (int)((padding * scale) + 0.5);
-
- //convert image size to pixels
- int imageSizeWidthPX = (int)((imageWidth * scale) + 0.5);
- int imageSizeHeightPX = (int)((imageHeight * scale) + 0.5);
-
- //make inner image smaller to compensate for the padding so that entire circle including padding equals the size
- //ex. small image = 48dp, small padding = 4dp, inner image = 48 - (4 * 2) = 40
- if(this.minimal == false)
- {
- imageSizeWidthPX = imageSizeWidthPX - (paddingPX * 2);
- imageSizeHeightPX = imageSizeHeightPX - (paddingPX * 2);
-
- this.container.setPadding(paddingPX, paddingPX, paddingPX, paddingPX);
- container.setBackgroundResource(R.drawable.thumbnail_circle_container);
- }
- else
- {
- container.setBackgroundResource(R.drawable.thumbnail_circle_minimal);
- }
-
- //if no image is given
- if(imageDrawable == 0)
- {
- this.image.setVisibility(View.GONE);
- placeholder.setLayoutParams(new LinearLayout.LayoutParams(imageSizeWidthPX, imageSizeHeightPX));
- placeholder.setPadding(paddingPX, paddingPX, paddingPX, paddingPX);
-
- //set placeholder image
- placeholder.setBackgroundResource(R.drawable.thumbnail_circle);
-
- this.dimensionsLabel.setText(text);
- }
- else
- {
- placeholder.setPadding(0, 0, 0, 0);
- this.dimensionsLabel.setVisibility(View.GONE);
- Bitmap bitmap = BitmapFactory.decodeResource(getContext().getResources(), imageDrawable);
-
- Bitmap roundBitmap = ImageUtils.getCircleBitmap(bitmap, imageSizeWidthPX, imageSizeHeightPX);
- image.setImageBitmap(roundBitmap);
- }
-
- this.addView(v);
- }
-
- public void setImage(int drawable)
- {
- Bitmap bitmap = BitmapFactory.decodeResource(getContext().getResources(), drawable);
-
- float scale = getResources().getDisplayMetrics().density;
-
- //convert image size to pixels
- int widthPX = (int)((this.imageWidth * scale) + 0.5);
- int heightPX = (int)((this.imageHeight * scale) + 0.5);
-
- int paddingPX = (int)((this.padding * scale) + 0.5);
-
- if(this.minimal == false)
- {
- widthPX = widthPX - (paddingPX * 2);
- heightPX = heightPX - (paddingPX * 2);
- }
-
- Bitmap roundBitmap = ImageUtils.getCircleBitmap(bitmap, widthPX, heightPX);
- image.setImageBitmap(roundBitmap);
-
- invalidate();
- requestLayout();
- }
-}