Android Viewpager+RadioGroupで左右クリックスライド効果を実現
6321 ワード
Activity android:id="@+id/main_viewp"android:layout_weight=“9” android:layout_width=“match_parent” android:layout_height=“0dp”>
FragmentPagerAdapter package comを継承します.bawei.zhaojianfu2019813.view.adapter;
import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter;
import java.util.List;
public class FragmentAdapter extends FragmentPagerAdapter { private List list;
}
Activity package com.bawei.zhaojianfu2019813.view.activity;
import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup;
import com.bawei.zhaojianfu2019813.R; import com.bawei.zhaojianfu2019813.view.adapter.FragmentAdapter; import com.bawei.zhaojianfu2019813.view.fragment.FragmentFive; import com.bawei.zhaojianfu2019813.view.fragment.FragmentFour; import com.bawei.zhaojianfu2019813.view.fragment.FragmentOne; import com.bawei.zhaojianfu2019813.view.fragment.FragmentThree; import com.bawei.zhaojianfu2019813.view.fragment.FragmentTwo;
import java.util.ArrayList; import java.util.List;
public class MainActivity extends BasActivity {
}
FragmentPagerAdapter package comを継承します.bawei.zhaojianfu2019813.view.adapter;
import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter;
import java.util.List;
public class FragmentAdapter extends FragmentPagerAdapter { private List list;
public FragmentAdapter(FragmentManager fm, List list) {
super(fm);
this.list = list;
}
@Override
public Fragment getItem(int i) {
return list.get(i);
}
@Override
public int getCount() {
return list.size();
}
}
Activity package com.bawei.zhaojianfu2019813.view.activity;
import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup;
import com.bawei.zhaojianfu2019813.R; import com.bawei.zhaojianfu2019813.view.adapter.FragmentAdapter; import com.bawei.zhaojianfu2019813.view.fragment.FragmentFive; import com.bawei.zhaojianfu2019813.view.fragment.FragmentFour; import com.bawei.zhaojianfu2019813.view.fragment.FragmentOne; import com.bawei.zhaojianfu2019813.view.fragment.FragmentThree; import com.bawei.zhaojianfu2019813.view.fragment.FragmentTwo;
import java.util.ArrayList; import java.util.List;
public class MainActivity extends BasActivity {
private ViewPager main_viewp;
private RadioGroup main_radiog;
private List list;
private RadioButton main_but1;
private RadioButton main_but2;
private RadioButton main_but3;
private RadioButton main_but4;
private RadioButton main_but5;
@Override
protected void initdata() {
}
@Override
protected void initview() {
main_viewp = findViewById(R.id.main_viewp);
main_radiog = findViewById(R.id.main_radiog);
main_but1 = findViewById(R.id.main_but1);
main_but2 = findViewById(R.id.main_but2);
main_but3 = findViewById(R.id.main_but3);
main_but4 = findViewById(R.id.main_but4);
main_but5 = findViewById(R.id.main_but5);
list = new ArrayList<>();
list.add(new FragmentOne());
list.add(new FragmentTwo());
list.add(new FragmentThree());
list.add(new FragmentFour());
list.add(new FragmentFive());
//
FragmentAdapter fragmentAdapter = new FragmentAdapter(getSupportFragmentManager(),list);
main_viewp.setAdapter(fragmentAdapter);
main_viewp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
switch (i){
case 0:
main_radiog.check(R.id.main_but1);
break;
case 1:
main_radiog.check(R.id.main_but2);
break;
case 2:
main_radiog.check(R.id.main_but3);
break;
case 3:
main_radiog.check(R.id.main_but4);
break;
case 4:
main_radiog.check(R.id.main_but5);
break;
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
main_radiog.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.main_but1:
main_viewp.setCurrentItem(0);
break;
case R.id.main_but2:
main_viewp.setCurrentItem(1);
break;
case R.id.main_but3:
main_viewp.setCurrentItem(2);
break;
case R.id.main_but4:
main_viewp.setCurrentItem(3);
break;
case R.id.main_but5:
main_viewp.setCurrentItem(4);
break;
}
}
});
}
@Override
protected int bas() {
return R.layout.activity_main;
}
}