diff options
Diffstat (limited to 'libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapThumbnail.java')
-rw-r--r-- | libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapThumbnail.java | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapThumbnail.java b/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapThumbnail.java deleted file mode 100644 index a4e1ba1bc..000000000 --- a/libraries/AndroidBootstrap/src/com/beardedhen/androidbootstrap/BootstrapThumbnail.java +++ /dev/null @@ -1,209 +0,0 @@ -package com.beardedhen.androidbootstrap; - -import java.util.HashMap; -import java.util.Map; -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Typeface; -import android.util.AttributeSet; -import android.util.Log; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.FrameLayout; -import android.widget.LinearLayout; -import android.widget.TextView; - -public class BootstrapThumbnail extends FrameLayout -{ - private static final int DEFAULT_WIDTH = 150; //width of thumbnail when no width is given - private static final int DEFAULT_HEIGHT = 150;//height of thumbnail when no height is given - private static final int DEFAULT_MAX_PADDING = 8; //8dp is max padding size when padding isn't specified by user - private static final int DEFAULT_MIN_PADDING = 4; //4dp - private static final String DEFAULT_TYPE = "rounded"; - - private static Map<String, ThumbnailTypes> bThumbnailTypeMap; - private static Typeface font; - private ViewGroup container; - private LinearLayout placeholder; - private TextView dimensionsLabel; - private boolean roundedCorners = true; - - static{ - bThumbnailTypeMap = new HashMap<String, ThumbnailTypes>(); - - bThumbnailTypeMap.put("rounded", ThumbnailTypes.ROUNDED);//default is rounded if user doesn't specify to use square - bThumbnailTypeMap.put("square", ThumbnailTypes.SQUARE); - } - - public BootstrapThumbnail(Context context, AttributeSet attrs, int defStyle) - { - super(context, attrs, defStyle); - initialise(attrs); - } - - public BootstrapThumbnail(Context context, AttributeSet attrs) - { - super(context, attrs); - initialise(attrs); - } - - public BootstrapThumbnail(Context context) - { - super(context); - initialise(null); - } - - public void setImage(int drawable) - { - this.placeholder.setBackgroundResource(drawable); - invalidate(); - requestLayout(); - } - - //set up the bootstrap types - private enum ThumbnailTypes - { - ROUNDED(R.drawable.bthumbnail_container_rounded, R.drawable.bthumbnail_placeholder_default), - SQUARE(R.drawable.bthumbnail_container_square, R.drawable.bthumbnail_placeholder_default); - - private int containerDrawable; - private int placeholderDrawable; - - ThumbnailTypes(int containerDrawable, int placeholderDrawable) - { - this.containerDrawable = containerDrawable; - this.placeholderDrawable = placeholderDrawable; - } - } - - private void initialise( AttributeSet attrs ) - { - LayoutInflater inflator = (LayoutInflater)getContext().getSystemService( - Context.LAYOUT_INFLATER_SERVICE); - - readFont(getContext()); - - TypedArray a = getContext().obtainStyledAttributes(attrs, - R.styleable.BootstrapThumbnail); - - //defaults - ThumbnailTypes type = null; - String thumbnailType = DEFAULT_TYPE; - String text = ""; - int imageDrawable = 0; - float scale = getResources().getDisplayMetrics().density; //for padding - int width = DEFAULT_WIDTH; - int height = DEFAULT_HEIGHT; - int padding = 0; - int paddingDP = 0; - - //attribute values - if(a.getString(R.styleable.BootstrapThumbnail_bt_width) != null) { - width = (int) a.getDimension(R.styleable.BootstrapThumbnail_bt_width, 0); - Log.v("width", Integer.toString(width)); - } - - if(a.getString(R.styleable.BootstrapThumbnail_bt_height) != null) { - height = (int) a.getDimension(R.styleable.BootstrapThumbnail_bt_height, 0); - } - - if(a.getString(R.styleable.BootstrapThumbnail_bt_inside_padding) != null) { - paddingDP = (int) a.getDimension(R.styleable.BootstrapThumbnail_bt_inside_padding, 0); - } - else{ - padding = (int) (((Math.sqrt(width * height)) / 100) * 2); - if(padding > DEFAULT_MAX_PADDING) - padding = DEFAULT_MAX_PADDING; - if(padding < DEFAULT_MIN_PADDING) - padding = DEFAULT_MIN_PADDING; - - paddingDP = (int) (padding * scale + 0.5f);//container padding in DP - } - - if(a.getString(R.styleable.BootstrapThumbnail_bt_roundedCorners) != null){ - roundedCorners = a.getBoolean(R.styleable.BootstrapThumbnail_bt_roundedCorners, false) ; - } - - if(a.getString(R.styleable.BootstrapThumbnail_bt_image) != null){ - imageDrawable = a.getResourceId(R.styleable.BootstrapThumbnail_bt_image, 0); - } - - a.recycle(); - - text = (int)(width/scale) + "x" + (int)(height/scale); - View v = inflator.inflate(R.layout.bootstrap_thumbnail, null, false); - - //get layout items - container = (ViewGroup) v.findViewById(R.id.container); - placeholder = (LinearLayout) v.findViewById(R.id.placeholder); - dimensionsLabel = (TextView) v.findViewById(R.id.dimensionsLabel); - - Log.v("size", "width:" + width + " height:" + height); - - - type = bThumbnailTypeMap.get(thumbnailType); - - //get the correct background type - if(roundedCorners == true) - { - type = bThumbnailTypeMap.get("rounded"); - } else { - type = bThumbnailTypeMap.get("square"); - } - - //apply the background type - container.setBackgroundResource(type.containerDrawable); - - //if no image is provided by user - if(imageDrawable == 0){ - //set default grey placeholder background - placeholder.setBackgroundResource(type.placeholderDrawable); - - //set the text - if(text.length() > 0){ - dimensionsLabel.setText(text); - dimensionsLabel.setVisibility(View.VISIBLE); - } - } - else{ - //set background to user's provided image - placeholder.setBackgroundResource(imageDrawable); - - //remove textview dimensions - dimensionsLabel.setVisibility(View.GONE); - } - - //placeholder padding - int paddingP = (int) (((Math.sqrt(width * height)) / 100) * 4); - - //convert to DP - int paddingDPP = (int) (paddingP * scale + 0.5f);//placeholder padding in DP - - container.setPadding(paddingDP, paddingDP, paddingDP, paddingDP); - placeholder.setPadding(paddingDPP, paddingDPP, paddingDPP, paddingDPP); - - placeholder.setLayoutParams(new LinearLayout.LayoutParams(width,height)); - - //set the font awesome icon typeface - dimensionsLabel.setTypeface(font); - - this.setClickable(true); - - addView(v); - } - - //static class to read in font - private static void readFont(Context context) - { - if(font == null){ - try { - font = Typeface.createFromAsset(context.getAssets(), "fontawesome-webfont.ttf"); - } catch (Exception e) { - Log.e("BootstrapButton", "Could not get typeface because " + e.getMessage()); - font = Typeface.DEFAULT; - } - } - - } -} |