これは、自分で解決するのが非常に簡単です。ここにサンプルがあります。
ViewPager の下に LinearLayout(@+id/indContainer) を追加し、次のコードを使用してドットを設定します。
LinearLayout indContainer = (LinearLayout) findViewById(R.id.indicator_container);
for(int x=0;x<yourData.size();x++){
ImageView v = new ImageView(this);
int px = (int)(4 * (getResources().getDisplayMetrics().densityDpi / 160));
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayoutCompat.LayoutParams.WRAP_CONTENT, LinearLayoutCompat.LayoutParams.WRAP_CONTENT);
params.setMargins(px,0,px,0);
v.setLayoutParams(params);
v.setImageResource(R.drawable.indicator_inactive);
indContainer.addView(v);
}
次に、あなたのpageChangeListenerで:
LinearLayout indContainer = (LinearLayout) findViewById(R.id.indicator_container);
((ImageView) indContainer.getChildAt(position)).setImageResource(R.drawable.indicator_active);
((ImageView) indContainer.getChildAt(lastPage)).setImageResource(R.drawable.indicator_inactive);
lastPage = position;
インジケーターのアイコンとサイズを必要に応じて調整します