我在点指示器中找到了如何读取pageSelected的方法,但是如何获取viewPager的onTabSelected位置。
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
if(tab.getPosition() == 0){
addDotsIndicator(0);
} else if (tab.getPosition() == 1){
addDotsIndicator(1);
} else if (tab.getPosition()== 2){
addDotsIndicator(2);
} else if (tab.getPosition() == 3){
addDotsIndicator(3);
} else if (tab.getPosition()== 4){
addDotsIndicator(4);
}
}
addDotsIndicator(0);
public void addDotsIndicator(int position){
mDots = new TextView[5];
for(int i = 0; i<mDots.length; i++){
mDots[i] = new TextView(this);
mDots[i].setText(Html.fromHtml("•"));
mDots[i].setTextSize(50);
mDots[i].setTextColor(getResources().getColor(R.color.colorTransparentWhite));
mDotLayout.addView(mDots[i]);
}
if (mDots.length > 0){
mDots[position].setTextColor(getResources().getColor(R.color.colorWhite));
}
}
如果我正在编写此代码,则将点指示器添加到无穷大,但是它们需要切换
答案 0 :(得分:0)
在addDotsIndicator()函数中,可以删除第一行中已经添加的点,然后继续添加。喜欢
aws ec2 describe-instances --region us-west-2
--query "Reservations[*].Instances[*].PrivateIpAddress"
--filter "Name=tag:Name,Values=myName","Name=instance-state-code,Values=16"
--output=text
如果mDotLayout中只有点,则应该可以正常工作。