package jp.hitting.android.view;
import java.util.ArrayList;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.util.AttributeSet;
import android.widget.LinearLayout;
import android.widget.TextView;
public class PageControl extends LinearLayout {
private static final int PAGE_CONTROL_PADDING = 15;
private ArrayList<TextView> pageCircleList;
public PageControl(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray typedAry = context.obtainStyledAttributes(attrs,
R.styleable.PageControl);
int columnNum = typedAry.getInteger(R.styleable.PageControl_column_num,
0);
int color = typedAry.getColor(R.styleable.PageControl_color,
Color.WHITE);
typedAry.recycle();
this.pageCircleList = new ArrayList<TextView>();
for (int i = 0; i < columnNum; i++) {
TextView circle = new TextView(context);
circle.setText("●");
circle.setTextColor(color);
if (i != 0) {
circle.setPadding(PAGE_CONTROL_PADDING, 0, 0, 0);
}
this.pageCircleList.add(circle);
this.addView(circle, new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
}
this.setCurrentPage(0);
}
public void setCurrentPage(int page) {
for (int i = 0; i < this.pageCircleList.size(); i++) {
TextView circle = this.pageCircleList.get(i);
circle.setAlpha((i == page) ? 1.0f : 0.3f);
}
}
}