package com.fractalwrench.androidbootstrap.sample; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.widget.LinearLayout; import com.beardedhen.androidbootstrap.BootstrapThumbnail; import com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand; import com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapSize; import com.beardedhen.androidbootstrap.utils.DrawableUtils; import butterknife.BindView; import butterknife.OnClick; import static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.DANGER; import static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.INFO; import static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.PRIMARY; import static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.REGULAR; import static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.SECONDARY; import static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.SUCCESS; import static com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand.WARNING; public class BootstrapThumbnailExample extends BaseActivity { private int resId = R.drawable.ladybird; private DefaultBootstrapSize size = DefaultBootstrapSize.MD; @Override protected int getContentLayoutId() { return R.layout.example_bootstrap_thumbnail; } @BindView(R.id.bthumb_image_change_example) BootstrapThumbnail imageChange; @BindView(R.id.bthumb_theme_change_example) BootstrapThumbnail themeChange; @BindView(R.id.bthumb_border_change_example) BootstrapThumbnail borderChange; @BindView(R.id.bthumb_rounded_change_example) BootstrapThumbnail roundedChange; @BindView(R.id.bthumb_size_change_example) BootstrapThumbnail sizeChange; @BindView(R.id.bthumb_set_image_bitmap_example) BootstrapThumbnail setBitmapExample; @BindView(R.id.bthumb_set_image_drawable_example) BootstrapThumbnail setDrawableExample; @BindView(R.id.bthumb_set_image_resource_example) BootstrapThumbnail setResourceExample; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.small_daffodils); setBitmapExample.setImageBitmap(bm); setDrawableExample.setImageDrawable(DrawableUtils.resolveDrawable(R.drawable.ladybird, this)); setResourceExample.setImageResource(R.drawable.caterpillar); sizeChange.setLayoutParams(getLayoutParams(size.scaleFactor())); } private LinearLayout.LayoutParams getLayoutParams(float factor) { float baselineSize = 300; float size = baselineSize * factor; return new LinearLayout.LayoutParams((int)size, (int)size); } @OnClick(R.id.bthumb_theme_change_example) void onThemeChangeExampleClicked() { switch ((DefaultBootstrapBrand) themeChange.getBootstrapBrand()) { case PRIMARY: themeChange.setBootstrapBrand(SUCCESS); break; case SUCCESS: themeChange.setBootstrapBrand(INFO); break; case INFO: themeChange.setBootstrapBrand(WARNING); break; case WARNING: themeChange.setBootstrapBrand(DANGER); break; case DANGER: themeChange.setBootstrapBrand(SECONDARY); break; case SECONDARY: themeChange.setBootstrapBrand(REGULAR); break; case REGULAR: themeChange.setBootstrapBrand(PRIMARY); break; } } @OnClick(R.id.bthumb_image_change_example) void onImageChangeExampleClicked() { switch (resId) { case R.drawable.ladybird: resId = R.drawable.caterpillar; break; case R.drawable.caterpillar: resId = 0; break; case 0: resId = R.drawable.ladybird; break; } imageChange.setImageResource(resId); } @OnClick(R.id.bthumb_rounded_change_example) void onRoundedChangeExampleClicked() { roundedChange.setRounded(!roundedChange.isRounded()); } @OnClick(R.id.bthumb_border_change_example) void onBorderChangeExampleClicked() { borderChange.setBorderDisplayed(!borderChange.isBorderDisplayed()); } @OnClick(R.id.bthumb_size_change_example) void onSizeChangeExampleClicked() { switch (size) { case XS: size = DefaultBootstrapSize.SM; break; case SM: size = DefaultBootstrapSize.MD; break; case MD: size = DefaultBootstrapSize.LG; break; case LG: size = DefaultBootstrapSize.XL; break; case XL: size = DefaultBootstrapSize.XS; break; } sizeChange.setBootstrapSize(size); sizeChange.setLayoutParams(getLayoutParams(size.scaleFactor())); } }