私はあなたがそれを下回る、ViewPagerと同じレイアウトでシンプルな横のLinearLayoutを使用することをお勧めします。このLinearLayoutには、ViewPagerのページと同じ数のTextViewを入力します。そして、テキストとして各TextViewに円のhtmlコードを入れます。 textView.setText(Html.fromHtml("○"));
ページが変更されたときに、選択したサークルの色を動的に変更し、各TextViewでonClickListenerを追加してViewPagerのページを変更します。同じアイディアがhereとして使われています。
private void addBottomDots(int currentPage) {
dots = new TextView[layouts.length];
int[] colorsActive = getResources().getIntArray(R.array.array_for_active_dot);
int[] colorsInactive = getResources().getIntArray(R.array.array_for_inactive_dot);
dotsLayout.removeAllViews();
for (int i = 0; i < dots.length; i++) {
dots[i] = new TextView(this);
dots[i].setText(Html.fromHtml("•"));
dots[i].setTextSize(35);
dots[i].setTextColor(colorsInactive[currentPage]);
dotsLayout.addView(dots[i]);
}
if (dots.length > 0)
dots[currentPage].setTextColor(colorsActive[currentPage]);
}
そして毎回ページが変更され、それを呼び出す:メソッドにaddBottomDots注意を払う
public void onPageSelected(int position) {
addBottomDots(position);
//... and so on, your code goes here
}
はそれがお役に立てば幸いです。