Android中实现引导页展示

//布局文件 小圆点用shape写的

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<RadioGroup
    android:id="@+id/radiogroup"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:gravity="center"
    android:orientation="horizontal">

    <RadioButton
        android:id="@+id/radio1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:button="@null"
        android:checked="true"
        android:drawableTop="@drawable/sle_r" />

    <RadioButton
        android:id="@+id/radio2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:button="@null"
        android:drawableTop="@drawable/sle_r" />

    <RadioButton
        android:id="@+id/radio3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:button="@null"
        android:drawableTop="@drawable/sle_r" />
</RadioGroup>

//建三个fragment里面有三个图片的布局

//在Java中
public class MainActivity extends AppCompatActivity {

private ViewPager pager;
private RadioGroup group;
private ArrayList<Fragment> fragments;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //找控件
    pager = (ViewPager) findViewById(R.id.pager);
    group = (RadioGroup) findViewById(R.id.radiogroup);

    //创建fragment集合
    fragments = new ArrayList<>();
    fragments.add(new Fragment1());
    fragments.add(new Fragment2());
    fragments.add(new Fragment3());

    //设置监听
    pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
        @Override
        public Fragment getItem(int i) {
            return fragments.get(i);
        }

        @Override
        public int getCount() {
            return fragments.size();
        }
    });

    //设置viewpager监听
    pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int i, float v, int i1) {

        }

        @Override
        public void onPageSelected(int i) {
            group.check(group.getChildAt(i).getId());
        }

        @Override
        public void onPageScrollStateChanged(int i) {

        }
    });


    //点击按钮
    group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            switch (checkedId) {
                case R.id.radio1:
                    pager.setCurrentItem(0);
                    break;
                case R.id.radio2:
                    pager.setCurrentItem(1);
                    break;
                case R.id.radio3:
                    pager.setCurrentItem(2);
                    break;
            }
        }
    });

}

}

猜你喜欢

转载自blog.csdn.net/wzj_8899174/article/details/83376192