package com.conference.app.lib.ui.widget; import android.content.Context; import android.util.TypedValue; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.widget.ImageView; import android.widget.LinearLayout; import com.conference.app.lib.R; public final class DotCreator { private static final String TAG = DotCreator.class.getName(); private static final boolean DEBUG = false; private DotCreator() { }; public static View[] createDots(final Context ctx, final int count) { final View[] views = new View[count]; for (int i = 0; i < count; i++) { final LinearLayout.LayoutParams layout = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); final LinearLayout parent = new LinearLayout(ctx); parent.setLayoutParams(layout); parent.setBackgroundColor(ctx.getResources().getColor(android.R.color.transparent)); for (int j = 0; j < count; j++) { if (j == i) { parent.addView(getActiveDot(ctx), j); } else { parent.addView(getInactiveDot(ctx), j); } } views[i] = parent; } return views; } private static View getActiveDot(final Context ctx) { final ImageView activeDotView = getParentDotView(ctx); activeDotView.setImageResource(R.drawable.pos_dot); return activeDotView; } private static View getInactiveDot(final Context ctx) { final ImageView inactiveDotView = getParentDotView(ctx); inactiveDotView.setImageResource(R.drawable.neg_dot); return inactiveDotView; } private static ImageView getParentDotView(final Context ctx) { final ImageView parentDotView = new ImageView(ctx); final float imagePXSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, ctx.getResources().getDisplayMetrics()); final float paddingPXSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5, ctx.getResources().getDisplayMetrics()); parentDotView.setPadding((int) paddingPXSize, (int) paddingPXSize, (int) paddingPXSize, (int) paddingPXSize); parentDotView.setLayoutParams(new LayoutParams((int) imagePXSize, (int) imagePXSize)); return parentDotView; } }