bingoogolapple / BGABanner-Android

引导界面滑动导航 + 大于等于1页时无限轮播 + 各种切换动画轮播效果
4.17k stars 780 forks source link

关于指示器选中和未选中图片大小不一样时的问题解决 #188

Closed androidliuzemin closed 5 years ago

androidliuzemin commented 6 years ago

楼主代码中指示器选中与否的写法是 for (int i = 0; i < mPointRealContainerLl.getChildCount(); i++) { mPointRealContainerLl.getChildAt(i).setEnabled(i == newCurrentPoint); // 处理指示器选中和未选中状态图片尺寸不相等 mPointRealContainerLl.getChildAt(i).requestLayout(); } 这样会有问题,如果选中图片比未选中图片大的话,未选中图片会被拉伸。只需要改一点就可以了: mPointRealContainerLl.getChildAt(i).setSelected(i == newCurrentPoint); 把setEnabled改成setSelected就可以。相应的selector里的“state_enabled”也要改成“state_selected”

ZSFeng commented 5 years ago

在5.1系统上测试,尺寸不一样确实是未选中的图片会被拉伸。但在8.0系统上尺寸不一样就是正常的

Liberations commented 5 years ago

nice 刚遇到这个问题

hellofuckandroid commented 5 years ago

在vivo X7 Android 5.1.1上也遇到了这个问题,也是采用的这个方式解决。