带点的分页(在 Lollipop 上):ViewPagerIndicator 与 PagerSlidingTabStrip
Pagination with dots (on Lollipop) : ViewPagerIndicator vs PagerSlidingTabStrip
两者都有很多来源和示例。我需要一个带有点作为指示器的寻呼机,我正在使用 Android 5.0.
上的新 Studio
初看;
PagerSlidingTabStrip
看起来较新,我设法将其导入为
gradle 项目和测试。
ViewPagerIndicator
应用商店中的示例应用可能会被删除。全部
帖子中的链接似乎已损坏。而且我无法导入为
Gradle项目任一个。
我倾向于使用 PagerSlidingTabStrip
但我不确定是否可以使用 'PagerSlidingTabStrip' 轻松配置带有小点的分页,据我所知,它主要是为选项卡设计的与标题。
这非常简单,您可以自己解决这里是一个示例。
在您的 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;
根据需要调整指标图标和大小
两者都有很多来源和示例。我需要一个带有点作为指示器的寻呼机,我正在使用 Android 5.0.
上的新 Studio初看;
PagerSlidingTabStrip
看起来较新,我设法将其导入为 gradle 项目和测试。ViewPagerIndicator
应用商店中的示例应用可能会被删除。全部
帖子中的链接似乎已损坏。而且我无法导入为
Gradle项目任一个。
我倾向于使用 PagerSlidingTabStrip
但我不确定是否可以使用 'PagerSlidingTabStrip' 轻松配置带有小点的分页,据我所知,它主要是为选项卡设计的与标题。
这非常简单,您可以自己解决这里是一个示例。
在您的 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;
根据需要调整指标图标和大小