最终效果:
(viewpager方式和recyclerview方式实现效果相同,但是recyclerview没有转场动画)。
- view pager
viewpager写引导页是比较简单常见的,思路:
1.沉浸式状态栏。
2.创建viewpager并将图片数据通过adapter设置给viewpager
3.圆点指示器
4.设置切换动画
1.沉浸式状态栏之前有了解过,在没有用residemenu等第三方库的时候,在Android4.4以上通过一下方法能够成功。
/**
* 透明化状态栏
*/
public static void TranslucentStatusBar(Activity activity) {
activity.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = activity.getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
| WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
window.setNavigationBarColor(Color.TRANSPARENT);
}
}
2.创建viewpager等代码
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
viewPager = (ViewPager) findViewById(R.id.view_pager);
private List<View> mList = {…};
for (int i = 0; i < mImages.length; i++) {
ImageView imageView = new ImageView(this);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setImageResource(mImages[i]);
mList.add(imageView);
}
PagerAdapter pagerAdapter = new PagerAdapter() {
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public int getCount() {
return mList.size();
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(mList.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(mList.get(position));
return m

本文介绍了如何使用view pager和recyclerview创建带有圆点指示器的引导页。对于view pager,主要涉及沉浸式状态栏、设置adapter、圆点指示器和切换动画。对于recyclerview,难点在于实现item自动居中滑动和圆点指示器的精准定位,最终通过监听和计算实现所需效果。提供了完整的代码示例链接。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



